我正在Ember.js平台上开发,其中包含用于上传文件的Microsoft Azure数据库。由于这些文件的内容是敏感的,我们依靠Azure的安全访问API来允许我们的用户查看该文件大约2分钟,然后使访问链接到期。此安全访问链接将作为response.fileURL
返回到我的应用程序。
问题是我需要在新标签页中打开此链接,到目前为止我尝试使用的方法除了Safari之外。
现在,搜索"以编程方式打开safari上的新标签"有一段时间,我到目前为止在网上找到的每个结果(例如http://whoknew.dk/programmatically-opening-a-new-tab-window-on-mobile-safari-55.htm)都有一个实现,它对以下代码有一些解释:
function openURL(){
var a = window.document.createElement("a");
a.target = '_blank';
a.href = response.fileURL;
// Dispatch fake click
var e = window.document.createEvent("MouseEvents");
// e.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
e.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, true, false, false, false, 0, null);
a.dispatchEvent(e);
}
openURL();
自简单
<a target="_blank" href='link.com'>link</a>
无法工作,无论如何我都需要以编程方式打开此选项卡,我尝试了上述功能无济于事。此问题使我们的应用程序无法在Apple智能手机和平板电脑上打开文件。更糟糕的是,Safari甚至没有通知用户该弹出窗口&#39;被阻止了,所以我们的用户很简单地认为这个功能已被破坏,而实际上它在其他浏览器中运行。
如何在Safari中的新标签页中打开任何链接/文件?
答案 0 :(得分:0)