0

正常に動作する単純な jquery コードがありますが、IE8 では動作しません。

のボタンがありますonclick="unlock();"unlock()関数は という名前の外部ファイルにありますjs/unlock.js

IE8 デバッガー ツールでは、すべての関数をマークし、次のエラーを書き込みます。

Object Doesn't Support This Property or Method (Line 1 Char 1)

ウェブサイトは英語で書かれていませんが、これをチェックしてください。ボタンは次のunlockようになります: (出典: gyazo.com )ここに画像の説明を入力

Web サイトへのリンク: http://www.nitrobit.net/view/RDIWVmLAJ ところで: ボタンの横の入力に何かを書き込む必要があります。

なにが問題ですか?

JS コード: (unlock.js):

unlock = function() {
    var password = $("input[name='password']").val();
    if($.trim(password).length != 0) {
        locked_div = $("#locked_div").html();
        $.ajax({
            url: 'ajax/unlock.php',
            type: 'post',
            data: { password: password, file: $("input[name='fileId']").val(), keep: ($("input[name='keep']").is(':checked')) ? 'true' : 'false' },
            beforeSend: function() {
                $("#locked_div").html('<img src="img/ajax-loader.gif" alt="loading" />');
            },
            success: function(data) {
                if(data.indexOf(0) == 0) {
                    data = data.slice(1);
                    $("#locked_div").html(locked_div);
                    $("#error").html(data);
                } else {
                    $("#locked_content").slideUp(); 
                    $("#prem_message").slideUp(function() {
                        $("#dl_section").html(data);
                        $("#download").fadeIn('slow');
                    });
                }
            }
        });
    }
}

ありがとう、そして私の英語でごめんなさい

4

1 に答える 1

2

Internet Explorer 8 でコードをテストすると、エラーの位置が少し異なります。

unlock.js、4行目、char 9

それはこの行です:

locked_div = $("#locked_div").html();

IE8 や.html()Googleを検索すると、 .html()-method が読み取りまたは書き込みに失敗するケースが多数見つかります。古いバージョンの jQuery (1.7) も使用しています。

私は提案します:

  • jQuery 1.10.x への更新
  • 問題が解決しない場合は、代わりにプレーンな JavaScript 機能を使用してみてください
  • または、代わりに: ノードのコンテンツを読み取る代わりに、ノードのクローンを作成します
于 2013-10-11T10:54:07.627 に答える