【发布时间】:2017-02-20 23:41:31
【问题描述】:
我正在处理的页面列出了文档。每个文档都是一个可点击的链接。单击会打开一个 PDF(通常会在不同的选项卡,甚至不同的应用程序中打开,具体取决于用户的设置),然后重新加载原始选项卡,以便更新页面上的“未读”计数并将链接样式更改为表示“阅读”。
围绕文档详细信息的 HTML 范围:
<span class='btn-link' onclick='openReport(@orderNumber, @tableBodyId); return false;'>
Javascript:
function openReport(orderNumber, tableBodyId) {
var url = "/Reports/ValuationReportDocPdf?orderNumber=" + orderNumber;
var win = window.open(url, '');
setTimeout(function () { location.reload(); }, 3000);
}
Javascript 在 Chrome、Firefox 和 IE11 中按预期工作。
在 Edge 中,单击链接时,会打开一个空白选项卡并获得焦点,而原始选项卡在选项卡栏上闪烁,等待我在“保存”、“另存为”和“取消”之间进行选择。因此,用户必须返回原始选项卡才能继续。这是一个相当混乱的用户体验。然后,如果我单击“保存”,情况会变得更糟:打开包含 PDF 的第三个选项卡。
问题
如何让 Edge 发挥出色?我希望将焦点停留在原始页面上,直到用户选择如何处理 PDF,然后打开 PDF,而不打开任何空选项卡。
编辑
This post 似乎相关,但它使用<a>。我认为我不能使用锚点,因为我还需要刷新页面。
【问题讨论】:
标签: javascript asp.net-mvc microsoft-edge