Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检测三叉戟6+;出于性能原因_Javascript_Jquery_Css_Html - Fatal编程技术网

Javascript 检测三叉戟6+;出于性能原因

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

使用JavaScript检测Trident 6.0+的最佳方法是什么?我知道浏览器检测不好,但出于性能原因,我正在构建一个需要在Trident 6.0+上运行的web应用程序。无法使用来检测布局引擎中的性能

我不担心检测的可靠性,因为如果用户足够精明,能够绕过JavaScript检测,那么我相信他们会理解web应用程序是否不能正常工作

到目前为止,我所尝试的:

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应用程序。