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在此处输入图像描述

链接到网站:http : //www.nitrobit.net/view/RDIWVmLAJ BTW:您需要在按钮旁边的输入中写一些东西。

怎么了?

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 行,字符 9

就是这一行:

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

在寻找IE8 和.html()Google时,您会发现很多情况,其中.html()- 方法无法读取或写入。您还使用过时的 jQuery (1.7) 版本。

我会建议:

  • 更新到 jQuery 1.10.x
  • 如果问题仍然存在,请尝试改用纯 JavaScript 功能
  • 或者:克隆节点而不是读取它的内容
于 2013-10-11T10:54:07.627 回答