0 javascript jquery internet-explorer
嗨,我在IE中收到此错误.它适用于所有其他浏览器.
这是错误显示的行:
if (parseFloat(totalnumm.replace(/[^0-9-.]/g,'')) > compare_value_neww && values[x].indexOf("Custom") > -1 ).
Run Code Online (Sandbox Code Playgroud)
我用Google搜索并找到了一个解决方案:
<meta http-equiv="X-UA-Compatible" content="IE=8;FF=3;OtherUA=4" />
Run Code Online (Sandbox Code Playgroud)
但它对我不起作用.
我打算问你正在测试这个版本的IE,但是因为你已经content="IE=8在meta标签中指定了,这是相当无关紧要的.
简短的回答是.indexOfIE8或更早版本不支持数组.(这包括兼容模式下的IE版本,因此您的元标记将意味着它将无法在任何IE版本中工作)
解决方案:
使用像jQuery(或类似)这样的库,它提供了.inArray()一种可以使用的方法.
然后,您需要将代码从使用更改var.indexOf(x)为$.inArray(var,x)
如果您已经在使用jQuery(或具有此功能的其他库),请选择此解决方案.
使用像这样的polyfill库,将标准.indexOf方法添加到Array原型中.
这应该允许您保持现有代码不变; 只包括图书馆.
如果您乐意使用库但未安装可能有帮助的库,请使用此解决方案.
编写自己的函数,使用for()循环执行相同的工作.
这是您在数组中查找内容的完全变化,但这意味着您不需要使用任何额外的库.
如果您不想(或不能,无论出于何种原因)使用第三方库,请使用此解决方案.
删除您的IE8元标记(无论如何它都非常糟糕,所以这是一个好主意)并且只为IE9或更高版本的用户支持您的网站.
如果您愿意停止支持旧的IE版本,请使用此解决方案.
事实上,无论如何这样做是个好主意; 没有充分的理由使用元标记强制IE进入兼容模式.最好将它设置为content="IE=edge".这将完全消除新IE版本的问题.如果您确实需要支持IE8或更早版本,那么此解决方案将无法解决问题,您还需要使用上述其他解决方案之一,但无论如何我仍然建议您这样做,因为事实上你是故意从新的IE版本中删除功能.
| 归档时间: |
|
| 查看次数: |
12243 次 |
| 最近记录: |