繁体   English   中英

关于打开/弹出新窗口的浏览器警报

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM