次の例をさまざまなブラウザーにロードします。
<!DOCTYPE html>
<html>
<body>
<a onclick='document.write("text <a href=\"#a\">link</a>");document.close();'>click</a>
</body>
</html>
ページが読み込まれたら、リンクをクリックします。これを行うと、「link」という名前のアンカーを含む document.write を使用してページが書き換えられます。
最新の IE8、IE9、Chrome では、このリンクをクリックしてもページが読み込まれません。
Firefox (最新および FF6 でテスト済み) では、リンクをクリックすると元のページがリロードされます。
アンカーを使用してもページの読み込みが発生しないため、Firefox の動作は正しくないようです。ドキュメントの書き込みが使用されていない場合、アンカーをクリックしても、Firefox でもページの読み込みは行われません。
これに対する回避策はありますか?
目標は、document.write を使用することです。このサンプルは、インクルード後に適切に実行する必要がある AJAX を使用した多数の JavaScript コードを含む別の完全な Web ページをロードすることをシミュレートしています。