(仅在IE中)SCRIPT65535:意外调用方法或属性访问。 main.js,第152行28

时间:2016-03-08 23:38:52

标签: javascript internet-explorer

在经历了几个有关此错误的stackoverflow帖子并且它们都没有实际适用于我的情况后,我在调试时在开发人员工具中的js文件中的一行中出现此错误: -

var el = $("#" + tagName);
 el.val(el.html(value).text()); //this is the one where debugger points to

这是js文件中的相关代码: -

 $.ajax({
        type: "get",
        url: "cgi-bin/system_status.cgi?tokn="+sessnID+",active="+tickle_activity+",id="+page_id+",sub="+sub_id+",tab="+tab_id,
        dataType: "xml",
        success: function (xml) {
            errorCnt = 0;
            $(xml).find('response').children().each(function () {
                if (this.nodeName === "user_info") {
                    parseUserInfo(this);
                }
                else {
                    $(this).children().each(function () {
                        var tagName = this.tagName;
                        var value = $(this).text();
                        /* If this is a time block then do some translation */
                        if (tagName === "time") {
                            if (showTimeValues != undefined) { showTimeValues(this); }
                        }
                        else if (tagName === "satellite") {
                            if (parseSatDataXml != undefined) { parseSatDataXml(xml); }
                        }
                        else if (tagName === "ntpstatus") {
                            if (parseNtpDataXml != undefined) { parseNtpDataXml(xml); }
                        }
                        else if (tagName === "alarms") {
                            if (parseAlmDataXml != undefined) { parseAlmDataXml(xml); }
                        }
                        else if (tagName === "alarmSettings") {
                            if (parseAlmSettingDataXml != undefined) { parseAlmSettingDataXml(xml); }
                        }
                        else if (tagName === "status") {
                            setStatusTextColor(value);
                            setStatusButton(value);
                            $("#" + tagName).val(value);
                        }
                        else {
                           var el = $("#" + tagName);
                           el.val(el.html(value).text());//error thrown

                        }
                    });
                }
            });

只有在我有这个问题的IE中,在所有其他浏览器中它工作正常,除了调试工具中的错误之外我没有观察到任何其他内容。我使用的是IE9和最新的jquery版本1.12.1

1 个答案:

答案 0 :(得分:0)

实际上,即使我在开发人员工具中使用IE9,也有一个选项,即浏览器模式:它被设置为IE7标准。这就是我收到此错误的原因。我切换到IE9标准的那一刻(不是兼容性的mdoe选项)。这一切都按预期工作。如果您不熟悉像我这样的Web开发,您可能会遇到此问题(不知道有浏览器模式)。 总而言之, In debugger tools (F12) -> Click on browser mode and choose IE9

不要选择兼容性选项。