IE8:对象不支持此属性或方法(第1行第1行)

时间:2013-10-11 10:19:42

标签: javascript jquery html internet-explorer internet-explorer-8

我有一个简单的jquery代码可以正常工作,但不适用于IE8。

我有一个onclick="unlock();"的按钮。 unlock()函数位于名为js/unlock.js的外部文件中。

在IE8调试器工具中,它标记所有函数并写入此错误:

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

网站不是用英文写的,但请查看一下。 unlock按钮如下所示:http://gyazo.com/4135d0e39d2966938cd7154943ad900c.png

链接到网站: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');
                    });
                }
            }
        });
    }
}

谢谢,对不起我的英文

1 个答案:

答案 0 :(得分:2)

在Internet Explorer 8中测试代码时,我得到的错误位置略有不同:

  

unlock.js,第4行,char 9

就是这一行:

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

在查找IE8 and .html() on Google时,您会发现很多情况,.html() - 方法在reading中失败或写入。您还使用过时版本的jQuery(1.7)。

我建议:

  • 更新到jQuery 1.10.x
  • 如果问题仍然存在,请尝试使用纯JavaScript功能
  • 或者:克隆节点而不是阅读它的内容