是否可以使用VBScript设置和检查IE8中的兼容模式?
答案 0 :(得分:2)
根据Defining Document Compatibility文章,document.documentMode属性返回IE8中当前页面的兼容模式。例如,您可以在IE8的地址栏中键入此内容以获取消息框中显示的兼容性模式值:
vbscript:msgbox(document.documentMode)
至于动态修改兼容模式...您可以迭代所有元标记并更改X-UA-Compatible http-equiv标头的内容,如下例所示,但我没有IE 8所以不能说它是否真的有用。
Sub ChangeCompatMode
Dim metatags, meta
Set metatags = document.getElementsByTagName("meta")
For Each meta In metatags
If UCase(meta.getAttribute("httpEquiv")) = "X-UA-COMPATIBLE" Then
' Change the document mode
meta.setAttribute "content", "IE=edge"
Exit For
End If
Next
End Sub
答案 1 :(得分:0)
对于“设置”部分...由于您控制了传递给浏览器的代码,因此您可以控制它进入的模式。
如果您需要适当的标准支持,请设置有效的DOCTYPE并进行设置。如果您需要,还可以设置META或HTTP标头强制标准模式,以便最终用户不会通过将其设置为兼容模式而意外地将自己射入脚中。
另一方面,如果您的遗留站点需要IE的遗留渲染/脚本行为,则发送META / HTTP标头以强制执行兼容模式。
试图动态改变......正在寻找麻烦。