【问题标题】:windows.open() with data URI close automatically带有数据 URI 的 windows.open() 自动关闭
【发布时间】:2017-09-01 11:46:41
【问题描述】:

我有一个使用以下代码生成 csv 的 html 页面:

var encodedUri = encodeURI(csvContent);
window.open('data:text/plain,' + encodedUri,'_blank').focus();

我在本地使用 firefox,它会正确生成一个包含数据的新选项卡,但使用 firefox 或 chrome,而不是在本地,窗口打开然后几乎立即关闭(没有弹出警报触发器)

我怎样才能避免这种情况并顺利获得我的文件?

【问题讨论】:

  • 我在使用 Firefox 时遇到了同样的问题。如果您找到了答案,请告诉我。有问题的网站是ayunami2000.github.io
  • 嗨!我从来没有找到这个问题的真正答案,这就是为什么我没有发布任何东西,我发现,因此,一个很好的解决方法,看看danml.com/download.html,它是一个小库,非常有效,它用简单的下载(csvContent, 'something.txt', 'data:text/plain,');
  • 我的问题不使用下载;它使用一个新窗口。不过,我可能可以将 about:blank 与注入代码一起使用。谢谢!
  • 你能解决这个问题吗?

标签: javascript web uri


【解决方案1】:

这很可能是由于 AdBlock 扩展。我禁用了它,这为我解决了这个问题。

【讨论】:

  • 当时,我也尝试了香草火狐,但仍然发生同样的事情
【解决方案2】:

显然 uBlock Origin 使用的过滤器列表之一带有一个无条件阻止任何数据 URI 弹出窗口的规则。 https://github.com/gorhill/uBlock/issues/2465

【讨论】:

    【解决方案3】:

    我所知道的是,如果您在弹出窗口打开后右键单击并单击“重新打开关闭的选项卡”,它将重新打开弹出窗口。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-08-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-06
      • 2011-08-26
      • 1970-01-01
      相关资源
      最近更新 更多