下記のスクリプトが動きません。
どこを直せばいいんでしょうか?
document.getElementById("Check").innerHTMLをdocument.writeにすると表示されるんですが、どこが間違っているのかわかりません。
<div>
<script>
var CookieCheck = navigator.cookieEnabled;
if(CookieCheck) {
document.getElementById("Check").innerHTML = "OK";
} else {
document.getElementById("Check").innerHTML = "NG";
}
</script>
<p id="Check">チェック結果</p>
</div>
みんなの回答 4 件
このままだとpタグが描画される前に<script>が実行されるからエラーになるんじゃないかと
前の回答のとおり要素の後ろに書くか、要素の前に書きたかったらonloadで呼び出す
innerHTMLが動作しない。 【OKWave】
http://okwave.jp/qa/q2594727.html使ってるブラウザは?chromeでもfirefoxでもIEでもJSのエラーは開発ツールで確認できるから、それを利用すると良いですよ。
window.onClick = function () {
var CookieCheck = navigator.cookieEnabled;
if(CookieCheck) {
document.getElementById("Check").innerHTML = "OK";
} else {
document.getElementById("Check").innerHTML = "NG";
}
};
---
<input type="button" onClick="CookieCheck()" value="Check!!">
<p id="Check">チェック結果</p>
上記をSafariで試したら、できました。
Firefoxではエラーが出ました。ローカルファイルのため、Chromeでは実行していません。
なぜSafariでできたのか、なぜFirefoxでエラーになるのか、さっぱりわかりません…。
関連するトピックス