2015-05-02 64 views
5

如何使用html,javascript,jQuery禁用window.open() ...?
我的意思是阻止任何窗口打开尝试,使“不工作”所有现有的window.open()函数。
哪些是最好的方法来做到这一点? (iframe中的情况下也工作)禁止在javascript中打开窗口

+0

不知道这是可能的。不能只是完全禁用JS? – Huey

+0

禁用浏览器功能的网站是枯燥无味的。如果您在我的网站上的iframe中托管我的网站,并禁止'window.open'在我的代码中工作,那么我们就不会一起长时间工作。 – Claies

回答

1

你会污染全局命名空间,但是你可以简单地覆盖window.open方法...

window.open = function (url, windowName, windowFeatures) { 
    console.log('not opening a window'); 
} 
+0

Iframes是什么?这将无法正常工作..我已经测试过它... – neoDev

+0

呃..你说你的代码被隔离在一个iframe中? – sfletche

+0

我需要防止window.open()if iframe的情况下 – neoDev

3
//for iframes: 
$.each($('iframe'), function() { 
    this.contentWindow.open = function (url, windowName, windowFeatures) { 
     //iframe window.open caught! 
    }; 
}); 

//for window: 
window.open = function (url, windowName, windowFeatures) { 
    //window.open caught! 
};