2015-05-02 92 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! 
};