4
  1. Windows 7 Professional を使用する IE9 でのみ javascript 関連のエラーが発生し、Windows Enterprise を使用する IE9 では発生しないことはありますか?
  2. 32 ビットの Windows 7 と 64 ビットの Windows 7 の間で、JavaScript に対する IE9 の動作に違いはありますか?

これで私を助けてください。完全な JavaScript 関数は以下のとおりです。

function foo() {
    var isChecked = false;
    var checkBoxField = "MyCheckBox1";
    for(j=0;j<document.forms[0].elements.length;j++) {
        if(document.forms[0].elements[j].name.search(checkBoxField) == 0) {
            if (document.forms[0].elements[j].checked == true) { 
                isChecked = true;
            }
        }
    }
    alert(isChecked);
}

checkBoxField がチェックされている場合、isChecked 変数は true である必要があります。IE9-Windows 7 Enterprise Edition (32 ビットか 64 ビットかは不明) では true であり、IE9-Windows 7 Professional Edition (32 ビット)では false です。

申し訳ありません。問題が発生した正確なマシンの IE 設定を調べたところ、キャッシュが原因であることが明らかになりました。[お気に入りの Web サイト データを保持する] 設定は、古い js ファイルを保持し、更新されたバージョンをダウンロードしません (Cookie、履歴、一時ファイルなどを消去しようとしても)。その設定がオフになると、履歴、キャッシュがクリアされ、すべてが機能し始めました。乾杯、

4

2 に答える 2

2

申し訳ありません。問題が発生した正確なマシンの IE 設定を調べたところ、キャッシュが原因であることが明らかになりました。[お気に入りの Web サイト データを保持する] 設定は、古い js ファイルを保持し、更新されたバージョンをダウンロードしません (Cookie、履歴、一時ファイルなどを消去しようとしても)。その設定がオフになると、履歴、キャッシュがクリアされ、すべてが機能し始めました

于 2012-05-30T12:54:12.967 に答える
1

ほとんどの場合、32ビットを使用するため、異なるWindowsバージョンに違いはないはずです. しかし、JavaScript にどんな種類のバグがあるかは決してわかりません。

あなたが試すことができるのは 、コードが次のように見えるjqueryを使用することです

function foo() {
    var isChecked = $("name='MyCheckBox1':first").attr('checked');      
    alert(isChecked);
}

チェックボックスIDをMyCheckBox1に設定すると、さらに簡素化されます

function foo() {
    var isChecked = $("#MyCheckBox1").attr('checked');      
    alert(isChecked);
}

参考になるかどうかわかりませんが、それが私の 20 セントです。

于 2012-04-20T03:20:22.423 に答える