4

次の例をさまざまなブラウザーにロードします。

<!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 ページをロードすることをシミュレートしています。

4

2 に答える 2