我收到此错误:
网页错误详情
用户代理:Mozilla / 4.0(兼容; MSIE 8.0; Windows NT 5.1; 三叉戟/ 4.0; .NET4.0C; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)时间戳:2012年6月26日星期二11:31:22 UTC
消息:对象不支持此属性或方法行:56字符: 650代码:0
URI: http://api.apps.com/html/81
消息:对象不支持此属性或方法行:56字符: 738代码:0
URI: http://api.apps.com/html/81
我不能依赖那个调试器,因为当我查看源代码时,我看到第56行是一条长行,我不知道错误到底在哪里?有没有办法追踪错误?错误是什么不支持。这是第56行:
function send_email(to) {
if (to.length == 0) {
$("#email_loader").html("<p>Please enter an `email address</p>");
$("#email_response").fadeIn(250);
}
else {
_gaq.push(['_trackEvent', 'Email', FA.appID]);
$("#email_loader").html("<img src='http://apps.com/img/ajax_load.gif' />");
$("#email_response").fadeIn(500);
$.get("/inc_appdl_main_api.php", {
to: to,
app_id: FA.appID
}, function (data) {
if (data.length > 0) {
$("#email_loader").html(data);
$("#email_response").delay(1000).fadeOut(500);
}
});
setTimeout(FA.iframeClose, 2000);
}
};
function iframeClose() {
parent.postMessage("closeFA", "*");
};
$("#to").keypress(function (event) {
if ((event.which == '13') && ($(this).val().length > 0)) {
to = $(this).val();
event.preventDefault();
send_email(to);
}
});
$("#email").click(function () {
to = $("#to").val();
send_email(to);
});
function set_url_target(url) {
}
有没有办法在ie8中调试?
我看了记事本++。它指向那里: char 791 到= $( “#至”)ATTR( '值'); SEND_EMAIL(到);
它有什么不对吗
答案 0 :(得分:1)
确保加载页面时控制台/开发人员工具已打开,否则当您尝试使用console.log
时它将失败。
假设这不是问题,请尝试在各种函数调用周围添加console.log()
语句,如下所示:
$("#email").click(function () {
console.log('call 1...');
to = $("#to").val();
console.log('call 1 done.');
send_email(to);
});
对它疯狂,希望你会在控制台中看到像
这样的东西LOG: call 7...
没有匹配LOG: call 7 done.
。然后你知道谁是罪魁祸首。
错误提到了几个字符数字,而那些字符会接近.val()
个调用中的两个。所以首先关注那些。只需用常量替换它们。
答案 1 :(得分:0)
这对我有用:
由于"to"
变量,IE引发了错误。我改变了这个:
$("#email").click(function () {
to = $("#to").val();
send_email(to);
});
对此:
$("#email").click(function () {
var to = $("#to").val();
send_email(to);
});
IE停止抛出错误!!