


Zusammenfassung der Lösungen zur Implementierung von window.open ohne Abfangen mithilfe von js_javascript-Kenntnissen
May 16, 2016 pm 04:32 PMDas Beispiel in diesem Artikel beschreibt die js-Lösung, um zu verhindern, dass window.open abgefangen wird. Teilen Sie es als Referenz mit allen. Die spezifische Analyse lautet wie folgt:
1. Frage:
Heute, während ich die Seiten-Ajax-Anfrage verarbeitete, wollte ich nach der Anfrage eine neue Seite öffnen, also dachte ich darüber nach, js window.open zu verwenden, um dies zu erreichen, aber es wurde schließlich vom Browser abgefangen.
2. Analyse:
Durchsuchen Sie Google nach Lösungen. Einige sagen, dass dies durch Erstellen eines neuen Tags und Simulieren von Klicks erreicht werden kann. Der Test ergab jedoch, dass dies nicht möglich ist und immer noch vom Browser blockiert wird.
Schließlich habe ich eine Kompromissmethode gefunden, mit der eine neue Seite geöffnet werden kann, ohne jedoch den Effekt eines direkten Datenverkehrs auf die neue Seite wie beim A-Tag.
3. Implementierungscode:
var newTab=window.open('about:blank');
$.ajax({
success:function(data){
if(data){
//window.open('http://www.jb51.net');
newTab.location.href="http://www.jb51.net";
}
}
})
})
Andere Methoden:
<!--
$(
Funktion()
{
//Methode 1
window.showModalDialog("http://www.jb51.net/");
window.showModalDialog("http://www.jb51.net/");
//Methode 2
var aa=window.open();
setTimeout(function(){
aa.location="http://www.jb51.net";
}, 100);
var b=window.open();
setTimeout(function(){
b.location="http://www.jb51.net";
}, 200);
var c=window.open();
setTimeout(function(){
c.location="http://www.jb51.net";
}, 300);
var d=window.open();
setTimeout(function(){
d.location="http://www.jb51.net";
}, 400);
var ee=window.open();
setTimeout(function(){
ee.location="http://www.jb51.net";
}, 500);
var f=window.open();
setTimeout(function(){
f.location="http://www.jb51.net";
}, 600);
var g=window.open();
setTimeout(function(){
g.location="http://www.jb51.net";
}, 700);
var h=window.open();
setTimeout(function(){
h.location="http://www.jb51.net";
}, 800);
var i=window.open();
setTimeout(function(){
i.location="http://www.jb51.net";
}, 900);
var j=window.open();
setTimeout(function(){
j.location="http://www.jb51.net";
}, 1000);
//Methode 3
var a = $("<a href='http://www.jb51.net' target='_blank'>Apple</a>").get(0);
var e = document.createEvent('MouseEvents');
e.initEvent( 'click', true, true );
a.dispatchEvent(e);
var a = $("<a href='http://www.jb51.net' target='_blank'>Apple</a>").get(0);
var e = document.createEvent('MouseEvents');
e.initEvent( 'click', true, true );
a.dispatchEvent(e);
}
);
//-->
</script>
Ich hoffe, dass dieser Artikel für alle bei der Webprogrammierung auf Basis von JavaScript hilfreich sein wird.

Heißer Artikel

Hot-Tools-Tags

Heißer Artikel

Heiße Artikel -Tags

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Der Druckervorgang kann nicht abgeschlossen werden. Fehler 0x0000709. Lösung

Methoden zur Lösung des Problems verstümmelter chinesischer Zeichen in PHP Dompdf

Was soll ich tun, wenn mein Black Shark-Telefon ständig ein- und ausgeschaltet wird? Die Lösung wird enthüllt!

Empfohlen: Ausgezeichnetes JS-Open-Source-Projekt zur Gesichtserkennung und -erkennung

Linux Ups enthüllt: Fehlerursachen und Lösungen

Was bedeutet Fehlercode 678 und wie kann man ihn beheben?

Deepseek Offizielle Website Eingangszugangshandbuch Lösen Sie die häufigsten Probleme, die nicht angemeldet werden können

Wie kann das Problem gelöst werden, dass die Pokémon Kristall, Diamant, Helle Perle und Ente die Straße blockieren?
