編集:動作します(申し訳ありません)。このスクリプトの何かが原因で、Google Chrome で停止します。
function checkLocation() {
var loc = top.location.href;
var suffix = "subpage.html";
if (loc.indexOf(suffix, loc.length - suffix.length) !== -1) {
top.location.href = "index.html";
}
}
元の投稿:
IE 9、FF 3.6.3、Chrome (18.0.1025.151)、および Safari 5.1.5 がすべてインストールされています。
これは、Google Chrome を除くすべてのブラウザで機能します。
名前付き iframe を含む HTML レイアウトがあります。iframe src が変更され、さまざまなページが表示されます。ページの 1 つで、body タグに onLoad をロードするスクリプトがあります。このスクリプトは、ページが Google Chrome の iframe に読み込まれている場合にのみ読み込まれません。他のブラウザーでは問題なく動作します。また、ページを(iframe経由ではなく)Google Chromeに直接ロードすると、問題なく動作します。
これを修正するにはどうすればよいですか?
コード例を次に示します。
index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html> <head> <title> Example Page </title> </head>
<body> <a href="subpage.html" target="targetFrame">View subpage</a><BR/>
<iframe name="targetFrame"> </iframe>
</body>
</html>
subpage.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html> <head> <title> Subpage </title>
<script type="text/javascript" src="subpage.js"> </script>
</head>
<body onLoad="initialise()"> Hello </body>
</html>
subpage.js
function initialise() {
alert("Script loaded.");
}
ご覧いただきありがとうございます。