JavaScript错误在IE8:未实现(Javascript error in IE8: Not

2019-08-01 06:54发布

这一次真的让我为难,因为代码看起来完全无害。

IE8停止与消息脚本执行:

未实现。 map.js行:66焦炭:5

下面是从代码剪断:

63 if(data.map[x] !== undefined && data.map[x][y] !== undefined) {
64              
65   left = (x - data.dim.x_min)*32 + 30;
66   top = (data.dim.y_max - y)*32 + 30;
67
68  /* do stuff */
XX }

调试信息:X:263 data.dim.x_min:263 Y:172 data.dim.y_max:174

数据是从JQuery的Ajax调用返回的对象。 这在Firefox 3.0和3.5,Safari浏览器4.0.2和IE8浏览网页的时候,我才发现这个错误。 强制IE8到IE7模式不使误差消失。

我没有IE7与调试,但我得到了一个测试仪说,它不能在IE7工作,要么。

Answer 1:

在代码中使用的变量“顶”是类型DispHTMLWindow2(最外窗口对象),并已在由浏览器和导致冲突使用的目的,作为该对象不能是赋值操作的目标。 看来,Firefox和Safari忽视这一点,而IE不会允许脚本覆盖此。

此解决方案:

1)声明顶部使用的是本地变量来定义它的范围需要用到它。

2)重命名变量来的东西,不跟这个预定义的全球性冲突。

你不应该使用其他变量名的说明



Answer 2:

IE 8有很大的JavaScript调试器。 您可能要在错误之前的某个位置添加一个断点,单步执行代码,看看什么是奇怪的数据。 IE8是挑剔的,在列表中尾随逗号这可能是为什么你只能得到错误的。 你可以拉调试了F12,单击脚本并选择启动调试。 您可以通过点击其中的行号的边距添加一个破发点。



文章来源: Javascript error in IE8: Not implemented