2015-05-02 4 views
5

Wie kann ich window.open() mit HTML, Javascript, jQuery ... deaktivieren?
Ich meine blockieren jeden Fenster öffnen Versuch, so dass "nicht funktioniert" alle vorhandenen window.open() Funktionen.
Welches sind die besten Möglichkeiten? (Arbeitet auch bei iframes)Fenster nicht in JavaScript öffnen

+0

Nicht sicher, ob es möglich ist. Kann JS nicht einfach komplett deaktivieren? – Huey

+0

Websites, die Browserfunktionen deaktivieren, sind ein Fehler. Wenn Sie meine Website in einem iframe auf Ihrer Website hosten und "window.open" von der Arbeit in meinem Code deaktivieren, würden wir nicht lange zusammenarbeiten .... – Claies

Antwort

1

Sie den globalen Namensraum würde verschmutzen, aber man konnte einfach überschreiben die window.open Methode ...

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

Was für Iframes? Das wird nicht funktionieren .. Ich habe es bereits getestet ... – neoDev

+0

um ... sagst du, dass dein Code in einem iframe isoliert ist? – sfletche

+0

Ich muss window.open() auch im Falle von iframes verhindern – 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! 
};