【问题标题】:codepen.io - window.open is disabledcodepen.io - window.open 被禁用
【发布时间】:2015-07-24 16:38:16
【问题描述】:

我有这个按钮可以打开一个随机的维基百科页面。在 codepen 编辑器中一切正常,但是当我全页打开它时,随机按钮不再起作用,并且在日志中显示“window.open 已禁用”。

环顾四周,我发现这可能是因为我在 ajax 调用中调用了 window.open,这是异步的,因此是不允许的 (Bypass popup blocker on window.open when JQuery event.preventDefault() is set),所以我在 ajax 调用中收集了 url 并调用了窗口。 open(url) 在 jquery .click 函数中,但同样:它在 codepen 编辑器中有效,但在整页版本中无效。

所以我尝试了一个更简单的版本,但还是不行:

 $('#random').click(function() {
  window.open("http://en.wikipedia.org/wiki")
})

我不认为这是浏览器配置错误,因为它在编辑器中也不起作用,事实并非如此。用 chrome 和 FF 都试过了。

有什么想法或解决方法吗?

【问题讨论】:

  • 你有任何其他的 JS 库/SDK/任何嵌入的吗?活生生的例子?
  • 我只添加了 bootstrap 和 jquery 这里是整页codepen.io/ni-kun/full/RPewRV
  • 如果是codepen,你能把链接贴在这里吗?
  • 那么可能是 codepen 覆盖了window.open 方法,只是将消息记录到控制台。
  • 所以我应该假设我的代码没有问题?但是编译器不应该在编辑器和全页视图中做同样的工作吗?

标签: javascript jquery ajax


【解决方案1】:

您的代码绝对没有问题;它也给了我window.open is disabled

CodePen 禁用 window.open,因此最好的办法是在本地进行试验。

【讨论】:

  • 感谢您抽出宝贵时间查看@towerofnix。真的很奇怪,周围没有任何注释或提及,codepen 它被广泛使用,我会说 window.open 这是一个非常标准的操作。哦,好吧,无论如何,谜团已经解决了。
  • 是的,希望他们能做到这一点,这样它就更清楚了。至少将消息从window.open is disabled 更改为CodePen disables window.open,你认为?
猜你喜欢
  • 1970-01-01
  • 2012-07-25
  • 1970-01-01
  • 2015-05-11
  • 2011-11-07
  • 1970-01-01
  • 2014-01-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多