Javascript 检测三叉戟6+;出于性能原因
使用JavaScript检测Trident 6.0+的最佳方法是什么?我知道浏览器检测不好,但出于性能原因,我正在构建一个需要在Trident 6.0+上运行的web应用程序。无法使用来检测布局引擎中的性能 我不担心检测的可靠性,因为如果用户足够精明,能够绕过JavaScript检测,那么我相信他们会理解web应用程序是否不能正常工作 到目前为止,我所尝试的:Javascript 检测三叉戟6+;出于性能原因,javascript,jquery,css,html,Javascript,Jquery,Css,Html,使用JavaScript检测Trident 6.0+的最佳方法是什么?我知道浏览器检测不好,但出于性能原因,我正在构建一个需要在Trident 6.0+上运行的web应用程序。无法使用来检测布局引擎中的性能 我不担心检测的可靠性,因为如果用户足够精明,能够绕过JavaScript检测,那么我相信他们会理解web应用程序是否不能正常工作 到目前为止,我所尝试的: var ua = navigator.userAgent; isTri6 = ua.match(/Trident\/6/i); isTr
var ua = navigator.userAgent;
isTri6 = ua.match(/Trident\/6/i);
isTri7 = ua.match(/Trident\/7/i);
if( !isTri6 | !isTri7 ) { console.warn("Not running on Trident 6+"); }
这不会引发任何错误,但会警告Chrome、Firefox和IE10&IE11的控制台。(它不应该警告IE10+)如果你有一种不用用户代理(比如有条件的评论)的方法,请告诉我。我也尝试过使用条件注释,但结果是一样的
任何意见都将不胜感激 首先,当代理不是Trident 6和Trident 7时,您可能希望抛出警告:
if( !isTri6 && !isTri7 ) { ... }
如果代理不是Trident 6或不是Trident 7,则触发旧条件,这始终是正确的
其次,Chrome和Firefox将发出警告,因为它们都不使用Trident布局引擎!您可能需要相应地修改您的条件。首先,当代理不是Trident 6和Trident 7时,您可能需要发出警告:
if( !isTri6 && !isTri7 ) { ... }
如果代理不是Trident 6或不是Trident 7,则触发旧条件,这始终是正确的
其次,Chrome和Firefox将发出警告,因为它们都不使用Trident布局引擎!您可能需要相应地修改您的条件。旧版本上哪种性能太慢?检测太慢的实现的最佳方法是在加载代码时运行某种性能测试,看看它是否表现不佳。这将捕获任何速度较慢的浏览器,并允许polyfill实现在较旧的浏览器上性能更好。@DaveMethvin不是那种性能。我谈论的是Windows8(IE10和IE11)上的文本呈现以及特定的Javascript性能。我正在使用Windows 8操作系统自带的东西构建一个实验性的web应用程序。在旧版本上什么样的性能太慢?检测太慢的实现的最佳方法是在加载代码时运行某种性能测试,看看它是否表现不佳。这将捕获任何速度较慢的浏览器,并允许polyfill实现在较旧的浏览器上性能更好。@DaveMethvin不是那种性能。我谈论的是Windows8(IE10和IE11)上的文本呈现以及特定的Javascript性能。我正在使用Windows8操作系统自带的东西构建一个实验性的web应用程序。