我有一个简单的jquery代码,可以正常工作,但在IE8中却不行。

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

在IE8调试器工具中,它标记了所有功能并写入以下错误:

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


该网站不是用英语写的,但是请检查一下。 unlock按钮如下所示:javascript - IE8:对象不支持此属性或方法(行1的字符1)-LMLPHP
(来源:gyazo.com

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


谢谢,对不起我的英语

最佳答案

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


  unlock.js,第4行,字符9


是这行:

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


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

我会建议:


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

关于javascript - IE8:对象不支持此属性或方法(行1的字符1),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19315738/

10-10 22:08