【问题标题】:Mac safari open a URL in new tab/window using javascriptMac Safari 使用 javascript 在新选项卡/窗口中打开 URL
【发布时间】:2016-10-18 21:21:03
【问题描述】:

要求是我在 web 服务响应中获取 excel 文件的 URL。我想使用 javascript 在新选项卡/窗口中打开此 URL。

window.open(url, '_blank');

在 mac safari 中不起作用。

我还尝试使用 target="_blank" 创建 <a> 并触发点击。但它不适用于 Mac safari。

有什么方法可以达到要求吗? 如果可能的话,在某些特定的 div 中打开 excel 文件也会提供服务。

谢谢。

【问题讨论】:

  • window.open 在 safari 中不起作用。唯一的方法是 window.location

标签: javascript jquery macos safari


【解决方案1】:

您是否安装了弹出窗口阻止程序?如果是,请阅读此内容。 Safari/Chrome 有内置的弹出窗口阻止程序阻止它工作。唯一允许在 Safari/Chrome 中打开新窗口的 javascript 是直接附加到点击处理程序(和其他直接用户输入处理程序)的 javascript。在过去的版本中,人们想出了一些作弊的方法(比如生成一些其他元素——表单或 div——并使用 javascript 模拟用户输入),但新版本更聪明地检测到这一点。我建议重新配置一些东西,这样你就不会使用延迟的弹出窗口——毕竟这种东西通常会让用户感到不安。

【讨论】:

  • 我知道这不起作用并且被阻止以及其背后的所有原因......我正在寻找实现这一目标的可能性......还有其他方法可以实现这一目标吗?或从特定div中的URL打开excel,使其不覆盖当前屏幕??
  • 试试这个。var myWin = window.open([args]); if (myWin == undefined) alert('Please disable your popup blocker');
  • 使用这个<div class='btn' onclick='window.open("https://www.google.com", "_blank");'>Open google search</div>
  • 1.我在 web 服务中获取 URL,需要在收到响应后立即打开它。我不能要求用户点击。 2.我已经提到,window.open 在 mac safari 中不起作用。参考:developer.apple.com/library/safari/documentation/Tools/…
  • 然后你可以从参考资料中使用它。 var newTab = safari.self.browserWindow.openTab();
猜你喜欢
  • 2011-03-17
  • 2012-02-18
  • 1970-01-01
  • 2012-01-28
  • 2011-06-21
  • 1970-01-01
相关资源
最近更新 更多