2016-10-10 5 views
0

Я хочу знать, можно ли изменить действие window.open? Я имею в виду, что я использую js-файл, размещенный в другом домене, и у него есть код для него для window.open. но я хочу показать, что url вместо того, чтобы открывать, так что можно прослушать событие открытия окна, а затем предотвратить по умолчанию.Измените действие window.open

ответ

1

Вы можете сделать это, как этот

window.open = null; 

JSFiddle


Но попытаться поймать событие вместо этого.
Имеет ли элемент уникальный/уникальный класс? Или его родители?

Затем добавьте эти строки

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; try { e = t.window.open (z); e.focus(); e.close(); } catch (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); 
} 

Если вы хотите, вы можете удалить родной вызов функции ...

Смежные вопросы