javascript:window.open 不起作用?
Posted
技术标签:
【中文标题】javascript:window.open 不起作用?【英文标题】:javascript: window.open does not work? 【发布时间】:2016-11-05 16:10:42 【问题描述】:我正在尝试实现这个:
https://***.com/a/30225669/533426
但是,一个简单的打开窗口不起作用,请参见此处:
http://codepen.io/anon/pen/LkLNaX
window.open('http://www.bippo.com', '_blank');
alert("wtf");
我错过了什么吗?
这应该特别适用于 android 和 iphone 手机。
【问题讨论】:
浏览器中的一般规则是由于滥用/安全性,它需要用户事件才能打开新窗口。还取决于用户安全设置...有些人可能会看到提示...如果您尝试在没有用户事件的情况下打开,其他人什么也看不到 在this post看到正确的答案。 即使手动触发也不行:见codepen.io/anon/pen/LkLNaX 在您的脚本中有几个未定义的变量(上、左...)。如果你不解决这个问题,它就无法工作。 【参考方案1】:您的 codepen 代码有效,只需检查您的浏览器弹出块。
window.open("http://www.bippo.com",'_blank');
【讨论】:
错误信息是这样的:pen.js:2 Uncaught SecurityError: Blocked a frame with origin "http://s.codepen.io" from accessing a frame with origin "http://codepen.io". Protocols, domains, and ports must match.
【参考方案2】:
试试这个
<a href="javascript:test()">test</a>
function test()
window.open("http://www.bippo.com",'_blank');
alert("wtf");
【讨论】:
【参考方案3】:也许您在别处重新定义了 open 函数,或者 window.open() 不是由用户操作直接调用的。特别是在移动浏览器中,您不能从计时器或任何异步任务中调用此函数。
【讨论】:
以上是关于javascript:window.open 不起作用?的主要内容,如果未能解决你的问题,请参考以下文章
Javascript - 通过 s-s-rS 2008 R2 调用时,window.open 在 IE 中不起作用
在 Android 中的 window.open() 之后 setInterval() 不起作用
为啥 onload 事件在使用 window.open 打开的选项卡上不起作用?