[英]browser alert about open / popup new window
我有一个链接,点击后,浏览器将打开一个新窗口。 这是该链接上的click事件的代码:
var clickView = function(){
window.open('/client/item/show/' + itemID);
return false;
};
我还有另一个函数,从ajax调用中读取url并在新窗口中打开它。
if (json.data && json.data.URL)
{
if (me.urlTarget==='_self'){
//use the self window to open the URL
window.location.href =json.data.URL;
} else{
//use new window to open the url.
window.open(json.data.URL);
}
}
对于第一个功能(clickView),浏览器(IE7 / 8和Firefox)将打开一个新选项卡而不向用户发出任何警告。 对于第二个函数(从json.data.URL读取url),IE和Firefox都会显示警告消息并阻止新窗口,直到用户同意警告。 在这两个函数中,开放URL是相同的。
我想知道为什么会有差异,是否有可能使它们表现一致?
答案似乎在这里: 打开新窗口,浏览器不会发出弹出窗口的警告
总结:在看似随机的时间调用window.open()会导致浏览器启动警告/提示。 作为链接点击的结果调用window.open()工作正常。
第二个实例可能会生成警告,因为它是绝对URL而不是相对URL?
(无论哪种方式,打开新的浏览器窗口都是魔鬼的工作)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.