


Résumé des solutions pour implémenter window.open sans être intercepté en utilisant les compétences js_javascript
May 16, 2016 pm 04:32 PML'exemple de cet article décrit la solution js pour implémenter window.open sans être intercepté. Partagez-le avec tout le monde pour votre référence. L'analyse spécifique est la suivante :
1. Question :
Aujourd'hui, lors du traitement de la requête ajax de la page, je souhaitais ouvrir une nouvelle page après la requête, j'ai donc pensé à utiliser js window.open pour y parvenir, mais elle a finalement été interceptée par le navigateur.
2. Analyse :
Recherchez des solutions sur Google. Certains disent que cela peut être réalisé en créant une nouvelle balise a et en simulant des clics. Cependant, le test a révélé que cela ne peut pas être réalisé et est toujours bloqué par le navigateur.
Finalement, j'ai trouvé une méthode de compromis qui permet d'ouvrir une nouvelle page, mais sans l'effet de trafic direct vers la nouvelle page comme la balise a.
3. Code de mise en œuvre :
var newTab=window.open('about:blank');
$.ajax({
succès:fonction(données){
si (données) {
//window.open('http://www.jb51.net');
newTab.location.href="http://www.jb51.net";
>
>
})
})
Autres méthodes :
<!--
$(
fonction()
{
//Méthode 1
window.showModalDialog("http://www.jb51.net/");
window.showModalDialog("http://www.jb51.net/");
//Méthode 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);
//Méthode 3
var a = $("<a href='http://www.jb51.net' target='_blank'>Apple</a>").get(0);
var e = document.createEvent('MouseEvents');
e.initEvent( 'clic', 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( 'clic', true, true );
a.dispatchEvent(e);
>
);
//-->
</script>
J'espère que cet article sera utile à la programmation Web de chacun basée sur JavaScript.

Article chaud

Outils chauds Tags

Article chaud

Tags d'article chaud

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Le fonctionnement de l'imprimante ne peut pas être terminé, erreur 0x0000709 Solution

Méthodes pour résoudre le problème des caractères chinois tronqués en PHP Dompdf

Que dois-je faire si mon téléphone Black Shark continue de s'allumer et de s'éteindre ? La solution est révélée !

Recommandé : Excellent projet de détection et de reconnaissance des visages open source JS

Linux Oops révélé : causes des erreurs et solutions

Que signifie le code d'erreur 678 et comment le résoudre

Guide d'accès à l'entrée du site officiel Deepseek résolvez les problèmes courants qui ne peuvent pas être connectés

Comment résoudre le problème des Pokémon Crystal, Diamond, Bright Pearl et Duck bloquant la route ?
