javascript - angular2 : why window. location.href 会导致 Firefox 上的页面刷新,但 href 不会

标签 javascript angular firefox typescript

我正在使用 Angular2,我有一种下载文件的方法...一切正常,但我使用的是 <a>并使用 href='routetodownload' 下载文件我被要求在某些情况下禁用此链接,然后决定更改 <a>通过<button> (无论如何,该链接都可以作为按钮使用)并这样做,而不是使用 href属性,我创建了一个函数。
HTML

<button (click)="download(url)">download</button>

typescript

download(url) {
    window.location.href = url;
}

但这会导致 Firefox 上出现奇怪的行为,当我单击下载时,会出现保存对话框,但在其后面会刷新页面。使用时<a href='url'>出现“另存为”对话框时页面不会刷新

这种情况仅在使用 Firefox 时发生...Edge 和 Chrome 在这两种情况下都工作正常。

我想知道为什么 window.location.href 会导致 Firefox 上的自动刷新。

如果有人对此有任何想法,请告诉我

更新

问题毕竟是 NG Live Development Server (来自 angular-cli ng serve 命令)...我不知道为什么这种情况只发生在 Firefox 上。问题是,我的应用程序托管在 IIS 上,我在使用它的解决方案中没有刷新。

稍后我会与 Angular-cli 团队的人员核实此行为可能是什么...

谢谢大家。

问候

最佳答案

这只发生在本地 angular-cli 实时服务器上,因为默认情况下所有路由都会路由到/index.html,这是应用程序的根目录。 Angular 路由器找不到您的文件 URL,只会将您带到默认路由。

关于javascript - angular2 : why window. location.href 会导致 Firefox 上的页面刷新,但 href 不会,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41854630/

相关文章:

Javascript forEach 吞咽异常

javascript - iframe 中父级到子级的跨域访问

javascript - Firefox 的 Web 扩展

css - Firefox 中的图片链接未覆盖整个图片

javascript - ng-animate 没有按预期工作

javascript - 无法将图像附件发送到后端

javascript - 绑定(bind)问题 'this' Angular/Javascript

css - 自动展开所有 PrimeNG Accordion 面板以进行打印

javascript - 带有 *ngIf 的 Angular 2 条件循环

html - 如何更改 Chrome 中 <audio> 元素的高度? (能够在 FF 中做得很好)