关于IE10兼容性视图的问题

hangzhouhao 2014-12-15 08:54:44
我有个页面含有Javascript代码,在IE9和更低版本浏览器中能正常浏览,IE10必须打开兼容性视图才行。Chrome39.0也不能正常浏览,而且没找到兼容性视图设置。我希望通过修改代码来避免出现兼容性视图问题,或者强制客户端浏览器打开兼容性视图。

我尝试了网上兼容性问题解决方案,<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" /> 或<meta http-equiv=X-UA-Compatible content=IE=EmulateIE8>或<meta http-equiv=“X-UA-Compatible” content=“IE=8″>都不行(也尝试了将8修改为7或9)。

与兼容性相关的代码应该是这些:
document.form.Compare.options[0].selected=false;
for (var j = 1; j < document.form.Compare.length; j++)
document.form.Compare.options[j].selected=true;
document.form.submit();
通过选择下列选框select来触发,选择后应该会刷新页面,更新部分内容;IE10没有打开兼容性视图,选择后页面没反应。
...全文
328 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
搂在还在吗! 能说下最后具体怎么弄好的吗?
hangzhouhao 2015-02-10
  • 打赏
  • 举报
回复
找到原因了。有些表单元素我忘了设id,只有name,在 IE6 IE7 IE8(Q) 中,支持以 document.getElementById(elementName) 的方式获取 name 属性值为 elementName 的 A APPLET BUTTON FORM IFRAME IMG INPUT MAP META OBJECT EMBED SELECT TEXTAREA 元素。
hangzhouhao 2014-12-22
  • 打赏
  • 举报
回复
目前已确认,IE10开始不支持vml,我有的页面因为包含vml所以必须用兼容视图; 但有些网页不含有vml,也必须用兼容视图,怀疑是采用了var _st = window.setTimeout;用途是实现setTimeout传递参数。
hangzhouhao 2014-12-15
  • 打赏
  • 举报
回复
谢谢回复。能通过在html头部指定浏览器的兼容性设置吗?这样就不用修改代码。 另外,我的代码触发是这样的:

<form action="Compare.asp" method="post" name="form" id="form">
<select name="typeid" onChange="ChangeType()" size="1">
function ChangeType()
{
  document.getElementById("BigClassID").options[0].selected=true;
  document.getElementById("SmallClassID").options[0].selected=true;
  ToSubmit();
}
function ToSubmit()
{
   document.form.Compare.options[0].selected=false;
   for (var j = 1; j < document.form.Compare.length; j++)
     document.form.Compare.options[j].selected=true;      
   document.form.submit();
}
引用 1 楼 jikeytang 的回复:
兼容可能是其它代码引起的,我刚把这段代码重现了一下,结果是不断的刷新之外没有你所说的兼容不能提交的问题。

<form action="" name="form">
    <select name="Compare" id="">
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
    </select>
</form>
<script>
    document.form.Compare.options[0].selected=false;
    for (var j = 1; j < document.form.Compare.length; j++)
        document.form.Compare.options[j].selected=true;
//    document.form.submit();
</script>
豪情 2014-12-15
  • 打赏
  • 举报
回复
兼容可能是其它代码引起的,我刚把这段代码重现了一下,结果是不断的刷新之外没有你所说的兼容不能提交的问题。

<form action="" name="form">
    <select name="Compare" id="">
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
    </select>
</form>
<script>
    document.form.Compare.options[0].selected=false;
    for (var j = 1; j < document.form.Compare.length; j++)
        document.form.Compare.options[j].selected=true;
//    document.form.submit();
</script>

87,921

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧