Javascript IE11仿真模式仿真ie8不';无法识别多边形填充的索引

Javascript IE11仿真模式仿真ie8不';无法识别多边形填充的索引,javascript,internet-explorer-8,internet-explorer-11,ie11-developer-tools,Javascript,Internet Explorer 8,Internet Explorer 11,Ie11 Developer Tools,我试图在IE11中模拟IE8,以验证我所做的一些代码更改。然而,仿真器中似乎有一个问题阻止我使用它 当我调用jQuery pollyfilled方法时 [].indexOf(1) 我从模拟器中得到一个错误,说明了以下内容 对象不支持indexOf属性或方法 此错误仅在模拟器中发生。在真正的IE8浏览器上尝试时,我看不到任何问题。jQuery在这两个实例中都被加载,并且在所有其他Javascript代码之前加载 有人知道如何让仿真器以与真实浏览器相同的方式工作吗?工作正常。下面是测试示例。你的代

我试图在IE11中模拟IE8,以验证我所做的一些代码更改。然而,仿真器中似乎有一个问题阻止我使用它

当我调用jQuery pollyfilled方法时

[].indexOf(1)
我从模拟器中得到一个错误,说明了以下内容

对象不支持indexOf属性或方法

此错误仅在模拟器中发生。在真正的IE8浏览器上尝试时,我看不到任何问题。jQuery在这两个实例中都被加载,并且在所有其他Javascript代码之前加载


有人知道如何让仿真器以与真实浏览器相同的方式工作吗?

工作正常。下面是测试示例。你的代码可能有问题。如果您提供用于测试目的的代码,那么就容易多了

//ECMA-262第5版15.4.4.14的生产步骤
//参考:http://es5.github.io/#x15.4.4.14
if(!Array.prototype.indexOf){
Array.prototype.indexOf=函数(searchElement,fromIndex){
var-k;
//1.让O作为调用ToObject传递的结果
//将此值作为参数。
if(this==null){
抛出新的TypeError(“'this'为null或未定义”);
}
var O=对象(此);
//2.让lenValue作为调用Get的结果
//带参数“length”的O的内部方法。
//3.将len设为ToUint32(lenValue)。
var len=O.length>>>0;
//4.如果len为0,则返回-1。
如果(len==0){
返回-1;
}
//5.如果传递了参数fromIndex,则n为
//ToInteger(fromIndex);否则n为0。
var n=+fromIndex | | 0;
if(数学绝对值(n)==无穷大){
n=0;
}
//6.如果n>=len,则返回-1。
如果(n>=len){
返回-1;
}
//7.如果n>=0,则k为n。
//8.否则,n=0?n:len-Math.abs(n),0);
//9.当kconsole.log([].indexOf(1))可能是这样,但我希望它与出现错误的代码无关。意思是我不知道该发什么。让我觉得这是IE11的问题是,当我在chrome上加载页面时,我可以通过控制台访问indexOf方法,比如so Array.prototype.indexOf(),这在IE11中是做不到的。我收到了错误消息。我将尝试删除所有javascript文件,这样就不会出现干扰,然后重试。写“当我调用jQuery pollyfilled方法时”是什么意思?jQuery不会为Array.prototype.indexOf方法创建任何全局多边形填充。也许您正在寻找jQuery.inArray()?关于jQuery不创建pollyfilled方法的说法是正确的。但我的问题依然存在。在IE8上运行时,我没有问题,但在emulator上运行时,indexOf方法会中断。