2016-10-10 55 views
0

我想知道是否有可能更改爲window.open的動作? 我的意思是我使用由另一個域託管的js文件,並且它的代碼爲window.open。但我想顯示的URL而不是打開,所以有可能聽窗口打開事件,然後防止默認。更改window.open的動作

回答

1

你可以像下面這樣做

window.open = null; 

JSFiddle


但試圖捕捉事件來代替。
元素是否具有ID /唯一類?還是其父母?

然後添加這些行

var element = document.getElementById('elementId'); 

element.addEventListener('click', function(e){ 
    e.preventDefault(); 
    return false; 
}); 
+0

感謝喜爲了幫助你的代碼運行良好,但我仍然有一些問題。 你的代碼工作正常是js文件正在使用簡單的window.open,但我使用的文件有像t.window.open,它不適用於它。下面是該js文件中的代碼。 ''\ x75':function(t){var e; 嘗試{e = t.window.open(z); e.focus(); e.close(); (i){} e = Dt(z); e.focus(); e.close(); }' –

2

您可以覆蓋window.open():

var nativeWinOpen = window.open; 

window.open = function(){ 
    // do your mal ;) things here 
    nativeWinOpen.apply(window,arguments); 
} 

如果你願意,你可以刪除本機的功能調用...