Javascript';未定义';IE8中的错误-仅限
我的脚本在FF、Chrome、Safari和IE9中运行良好 我刚刚意识到它在IE8中抛出了一个“newamount”未定义的错误Javascript';未定义';IE8中的错误-仅限,javascript,internet-explorer,Javascript,Internet Explorer,我的脚本在FF、Chrome、Safari和IE9中运行良好 我刚刚意识到它在IE8中抛出了一个“newamount”未定义的错误 知道为什么会发生这种情况吗?首先,您有一个脚本错误,需要修复 window.onload=changeaboutfirm(1); onload事件应该直接绑定到函数的引用,而不是changeaboutfirm()返回的任何内容。您可能需要以下内容: window.onload = function () { changeaboutfirm(1); } 在IE中,
知道为什么会发生这种情况吗?首先,您有一个脚本错误,需要修复
window.onload=changeaboutfirm(1);
onload
事件应该直接绑定到函数的引用,而不是changeaboutfirm()
返回的任何内容。您可能需要以下内容:
window.onload = function () { changeaboutfirm(1); }
在IE中,这会引发一个“未实现”异常,很可能会阻止其他脚本运行
Second,newamount
未在任何地方定义。唯一提到的地方是editamount
功能:
function editamount() {
changedamount=getAmount();
var name=prompt("New Amount (Numbers ONLY):",changedamount);
if (name != '' && name != null) {
isNaN(newamount) ? changedamount : parseFloat(newamount);
y.innerHTML="$"+nicenumber(newamount);
}
if (newamount != changedamount) { hideCalculated(); }
}
您需要添加:
var newamount = ???;
试着替换
newamount=parseFloat(name);
if (isNaN(newamount)) {
newamount=changedamount;
}
与
这使得它在执行IE可能有问题的
parseFloat
之前先检查NaN
。在此处发布您的代码,告诉我们需要做什么来重现错误。是否要共享问题代码?将您的代码粘贴到此处,而不是将我们重定向到您的网站…我不是在尝试推广该网站。我不明白IE不喜欢的代码是什么。代码中有800多行。我应该全部发布吗?@UnoMeinAme No.只有相关代码。如果你不知道相关的代码是什么,那就是你的问题了,谢谢。我更改了它,因此不会立即抛出错误。但当我试图计算某个东西时,它会给出一个错误。你会得到这个错误,因为newamount
在任何地方都没有定义。在哪里初始化?已更改。现在它说:对象不支持这个属性或方法:calculate
这将使它检查一个未定义的变量是否是一个数字。。。
isNaN(newamount) ? changedamount : parseFloat(newamount);