如何处理IE11修改User-agent不再支持document.all的问题?

如何处理IE11修改User-agent不再支持document.all的问题?

一个新的身份标识
关于IE11的第一个新闻就是它有了一个新的用户代理(UA)字符串:


Mozilla/5.0 (IE 11.0; Windows NT 6.3; Trident/7.0; .NET4.0E; .NET4.0C; rv:11.0) like Gecko

IE11去掉“MSIE”,导致以前js检测“MSIE”的代码无法使用。

navigator.appName 被设置为“Netscape”

navigator.product被设置为 “Gecko”

document.all在IE11中已经被置为false,如果为了判断是不是ie浏览器可以参考这篇文章

http://www.jb51.net/article/76296.htm

function isIE() { //ie?
 if (!!window.ActiveXObject || "ActiveXObject" in window)
  return true;
  else
  return false;
 }

attachEvent也被移除

其他一些被移除的特征:

window.execScript()——eval()方法的IE版本

window.doScroll()——IE窗口的滚动方法

script.onreadystatechange——IE中监听加载脚本的状态更改

script.readyState——IE中脚本加载的状态

document.selection——IE中当前选中的文本

 

复制代码 代码如下:

修改成了更加标准的
document.getSelection()
等价于 document.selection.createRange().text:

 

document.createStyleSheet——IE中创建样式表文挡

style.styleSheet——IE浏览器中引用一个样式表的样式对象

User-agent 字符串更改

对于许多传统网站,针对 IE11 的一些最明显的更新涉及 user-agent 字符串。 以下是针对 Windows 8.1 上的 IE11 报告的内容:

Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko