Robert Bienert: Safari: document.write, onclick und Links „zu“ javascript:

Beitrag lesen

Moin!

Ich schreibe (immer noch) an meinem Artikel über Bookmarklets. Als Anwendungsbeispiel habe ich mir einen Cookie-Editor ausgedacht, in dessen Code sowohl eine for-Schleife als auch Aufrufe der Methode document.write enthalten sind. Der einzige Browser, der mit meinem Code Probleme hat, ist Apples Safari. Meine Nachforschungen mit deutlich vereinfachten Code-Schnipseln führten mich zu der Annahme, dass der Safari document.write-Aufrufe in onclick-Handlern und javascript-Links nicht mag. Getestet habe ich dies mit folgendem Code:

<script type="text/javascript">  
<!--  
[code lang=javascript]function p() {  
    var j = 0;  
  
    for (; j < 5; ++j)  
        document.write(''+j);  
}  
//
~~~-->  
</script>  
<p><code>document.write</code> über  
<ul>  
    <li><a href="javascript:`p()`{:.language-javascript}">javascript:</a></li>  
    <li><a onclick="`document.write('hallo')`{:.language-javascript}">onclick</a></li>  
</ul>[/code]  
  
Woran könnte es liegen, dass Safari document.write in diesen Fällen nicht mag? Könnte jemand überprüfen, was der Konquerer aus diesem Beispiel macht?  
  
Viele Grüße,  
Robert