如何在javascript中检测Windows 10上的IE11? 它不应依赖于容易伪造的方法(例如用户代理) 早期版本的Windows不应使用它

如何在javascript中检测Windows 10上的IE11? 它不应依赖于容易伪造的方法(例如用户代理) 早期版本的Windows不应使用它,javascript,windows-10,internet-explorer-11,jscript,browser-detection,Javascript,Windows 10,Internet Explorer 11,Jscript,Browser Detection,AFAIK Windows 8.1和Windows 10上IE11的唯一区别是删除了P3P。 是否有任何其他更改/未修复的错误可用于检测它? 类似于指南的东西,但对于Windows 10,在这方面会非常有用。以下是我是如何做到的: if ( // is IE 11 even in web workers !self.ActiveXObject && 'ActiveXObject' in self && // exclude Wind

AFAIK Windows 8.1和Windows 10上IE11的唯一区别是删除了P3P。
是否有任何其他更改/未修复的错误可用于检测它?
类似于指南的东西,但对于Windows 10,在这方面会非常有用。

以下是我是如何做到的:

if (
     // is IE 11 even in web workers
     !self.ActiveXObject && 'ActiveXObject' in self &&

     // exclude Windows 7/8/8.1 and Windows Phone 8.1
     /Windows NT 10.0/.test(self.navigator.userAgent)
   )
   console.log('IE11 on Windows 10');

我也读过。

IE内部版本号?@KresimirPendic所有与Windows 10兼容的内部版本。如果不是UA,您可以尝试其他
window.navigator
属性。也许其中一些更可靠。为什么浏览器嗅探需要如此高的粒度?就其本身而言,浏览器嗅探是不可靠的,并不是一种常见的做法,因为多年前为了进行特征检测而放弃了这种做法instead@charlietfl如果这不是必须的,我们就不会有这样的网站。在我的例子中,我需要知道P3P是否得到支持,但这与我的问题无关。