de la fenêtre.ouvrir retourne null et ne parvient pas dans le script en ligne, mais fonctionne à partir de la console
Je suis en utilisant le système de template Smarty. L'une de ses caractéristiques est la possibilité de sortie script qui génère les informations de débogage pour chaque page. Ici vous pouvez voir un exemple de code généré:
<script type="text/javascript">
//<![CDATA[
setTimeout(function() { //Attempt to fix the issue with timeout
var _smarty_console = window.open("about:blank","md5hash","width=680,height=600,resizable,scrollbars=yes");
console.log(_smarty_console); //Trying to log it
if(_smarty_console!=null) {
_smarty_console.document.write("<!DOCTY... lots of HTML ...<\/html>\n");
_smarty_console.document.close();
}
}, 5000);
//]]>
</script>
Le problème, c'est que le window.open
fonctions renvoie toujours null
. J'ai essayé de la retarder avec setTimeout
mais rien n'a changé. Quand je copie le code et l'exécuter dans la console de Firebug, il fonctionne correctement. Il n'y a pas d'autres scripts sur la page. La page utilise en XHTML strict. Le script est juste avant </body>
.
C'est peut-être une question stupide, mais vous pouvez réellement voir les fenêtres pop-up? Si vous ne pouvez pas désactiver le bloqueur de pop-up dans votre navigateur...
OriginalL'auteur Tomáš Zato | 2013-08-23
Vous devez vous connecter pour publier un commentaire.
Il est bloqué par le navigateur.
window.open
n'est pas bloqué, lorsqu'il est appelé par action de l'utilisateur, par exemple un événement click, émise par un natif du navigateur d'événements. Également le javaScript émis événements sont bloqués, tout comme retardé setTimeout rappels.Regarder le Violon. J'ai aussi essayé avec le
keypress
événement, mais pas de chance.window.open
renvoie une référence valable pour les nouveaux (ou le nom) de la fenêtre, ounull
quand il a échoué à créer une nouvelle fenêtre.aucun moyen. uniquement par le biais d'un événement de clic, tout comme l'exemple dans mon post (mise à jour)
Même pas un événement clé qui a travaillé (CTRL+j). dans de telles circonstances, je vais devoir ajouter une exception pour ma page.
OriginalL'auteur metadings