Używam systemu szablonów Smarty. Jedną z jego funkcji jest możliwość generowania skryptu, który generuje informacje debugowania dla każdej strony. Tutaj można zobaczyć przykład kodu wygenerowanego:window.open zwraca wartość null i kończy się niepowodzeniem w skrypcie wbudowanym, ale działa z poziomu konsoli
<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>
Problem polega na tym, że funkcje window.open
zawsze zwraca null
. Próbowałem opóźnić to z setTimeout
, ale nic się nie zmieniło. Kiedy kopiuję kod i uruchamiam go w konsoli Firebug, działa on poprawnie. Na stronie nie ma innych skryptów. Strona używa ścisłego XHTML. Skrypt jest tuż przed </body>
.
To może głupie pytanie, ale rzeczywiście można zobaczyć pop-up? Jeśli nie możesz, wyłącz blokowanie wyskakujących okienek w przeglądarce ... – Teemu