ieとffのjsの違い
今日はコード作成中に問題コードがありました.
そこでコードを再デバッグして、最後にieのcookieファイルがまったく書かれていないことを発見しました.検査を経て、プログラムは最初の文で実行エラーが発生しました.よく考えてみると、元素idはieとffの中に細かい違いがあると思います.コードを改めて
最後にまとめます.IEでHTMLオブジェクトのIDは、documentの下位オブジェクト変数名として直接使用できます.Firefoxではできません.Firefoxでは、HTMLオブジェクトIDと同じ変数名が使用できます.IEではできません
解決方法:document.getElemenntByIdを使ってdocument.idNameの代わりにします.HTMLオブジェクトIDと同じ変数名を取らないほうがいいです.エラーを減らすために.変数を宣言する時は、一律にvarを加え、曖昧さを避ける.
info = document.getElementById('info').value;
if(info == 'true')
setCookie('msg','true',31,'/');
else
setCookie('msg','false',31,'/');
バックデバッグ時にこのコードはffで正常に機能しますが、ieでは無効になります.そこでコードを再デバッグして、最後にieのcookieファイルがまったく書かれていないことを発見しました.検査を経て、プログラムは最初の文で実行エラーが発生しました.よく考えてみると、元素idはieとffの中に細かい違いがあると思います.コードを改めて
var infoValue = document.getElementById('info').value;
if(infoValue == 'true')
setCookie('msg','true',31,'/');
else
setCookie('msg','false',31,'/');
そして再デバッグして、これはieとffブラウザで正常に動作するようになりました.最後にまとめます.IEでHTMLオブジェクトのIDは、documentの下位オブジェクト変数名として直接使用できます.Firefoxではできません.Firefoxでは、HTMLオブジェクトIDと同じ変数名が使用できます.IEではできません
解決方法:document.getElemenntByIdを使ってdocument.idNameの代わりにします.HTMLオブジェクトIDと同じ変数名を取らないほうがいいです.エラーを減らすために.変数を宣言する時は、一律にvarを加え、曖昧さを避ける.