Rufen Sie die native Browserfunktion auf, auch nachdem sie außer Kraft gesetzt wurde

7

Wenn ich etwas wie

habe %Vor%

in einem anderen Skript.

Das ist in einem anderen Skript und mein Code kann vor diesem Skript nicht geladen werden.

Wie kann ich die ursprüngliche Methode alert in meinem Skript aufrufen?

    
Dogbert 04.08.2012, 05:28
quelle

2 Antworten

14

Bevor Sie das ursprüngliche alert überschreiben, speichern Sie es.

%Vor%

Demo: Ссылка

Wenn Sie den ursprünglichen Wert nicht speichern können, ist der einzige andere Weg, auf den ich zugreifen kann, ein Iframe. Hier ist ein Beispiel:

%Vor%

Arbeitsbeispiel: Ссылка

Ich habe das nicht in allen Browsern versucht, aber es funktioniert in Chrome, IE und Firefox und ich denke, es sollte in anderen Browsern funktionieren.

    
jfriend00 04.08.2012, 05:32
quelle
6

Ok, ich bin der Erste, der zugibt, dass das eine hässliche Antwort ist, aber es scheint zu funktionieren:

%Vor%

Geige hier. Im Wesentlichen machst du eine neue Fensterinstanz und klauest seine alert -Methode. Der Nachteil ist, dass Sie eigentlich ein neues Browserfenster öffnen müssen, wenn auch nur kurz. Ich bezweifle, dass dies tatsächlich eine praktische Lösung für Ihr Problem ist - hängt davon ab, mit welcher anderen Website Sie arbeiten möchten und wie sehr Sie daran interessiert sind, wie Ihre Lösung für den Endbenutzer aussieht.

Bearbeiten : Dies ist eine Kombination aus der obigen Antwort und der Antwort von jfriend00, die das Problem "ein neues Fenster öffnen" löst. Ich denke, das ist eine etwas bessere Option, da a) es nicht darauf angewiesen ist, dass der Iframe immer noch im DOM ist, wenn Sie die Methode aufrufen müssen, und b) auf irgendeine window -Methode verallgemeinern sollte, welche die Antwort von jfriend00 ist wahrscheinlich nicht.

%Vor%     
nrabinowitz 04.08.2012 06:05
quelle

Tags und Links