首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >浏览器检测jQuery中的ie9和ie10.11

问浏览器检测jQuery中的ie9和ie10.11
EN

Stack Overflow用户
提问于 2015-08-30 10:16:33
回答 3查看 1.3K关注 0票数 1

我有一个幻灯片效果,你可以使用translateZ从屏幕的底部和顶部动画图像。

在我使用ie10,11的测试中,translateZ确实可以工作,但由于它缺乏对'transform-style: preserve-3d'的支持,使用嵌套的3d变换元素,其效果看起来像是放大了大小,而不是在屏幕上上下移动。

为了解决这个问题,我决定强制使用translateX &Y,如果检测到ie10或11,如果检测到ie9,则完全关闭该效果。

因此,我正在寻找一种有效且值得信赖的方法来处理jQuery中的ie9、ie10、ie11浏览器检测。

我也被is的'edge‘版本搞糊涂了,这和ie11有什么不同,它是否支持transform-style: preserve 3D,在caniuse.com上看不到'edge’版本

谢谢

EN

回答 3

Stack Overflow用户

发布于 2015-08-30 10:26:38

如果您只想检测IE11及以下版本以提供其他服务,则可以使用以下代码:

代码语言:javascript
复制
if(navigator.userAgent.indexOf('Trident') != -1){
  //This is Internet Explorer 11 or below
  //If you need to know if this is IE9 or above also you can run this
  if(typeof(document.addEventListener) != 'function'){
    //This is IE8 or below
  }
  if(typeof(window.msIndexedDB) != 'undefined'){
    //This is IE10 or higher
  }
}

然而,许多人会建议你应该使用特征检测来代替(在可能的情况下-然而,我不确定在这种情况下你是否可以(很容易))

您可以随时了解哪些浏览器在CanIUse.com上支持此功能

票数 2
EN

Stack Overflow用户

发布于 2015-08-30 11:55:47

我找到了这个解决方案,并认为现在应该认为这是正确的答案:

IE9-11 detecting transform-style: preserve-3d

它为transform-style: preserve-3d添加了特征检测。ie10 & 11中缺少此功能会导致沿Z轴平移时的行为不符合预期。

代码语言:javascript
复制
var detect = document.createElement("div");
detect.style.transformStyle = "preserve-3d";
if ( !detect.style.transformStyle.length > 0 ) {
    $('html').addClass('no-preserve3D');
}

在未来,Modelnizr3看起来会有针对transform-style: preserve-3d的功能检测,但目前正在beta...thanks dman2306中进行该技巧的测试!

票数 0
EN

Stack Overflow用户

发布于 2017-06-21 02:13:18

对于相关问题,这里有一些很好的解决方案:IE10 and below Browser detection

我发现了一个很棒的CodePen,它提供了适用于所有版本的IE和Edge的完整解决方案:

https://codepen.io/gapcode/pen/vEJNZN

以下是链接中window.navigator.userAgent的各种值的示例

代码语言:javascript
复制
  // IE 10
  // ua = 'Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)';

  // IE 11
  // ua = 'Mozilla/5.0 (Windows NT 6.3; Trident/7.0; rv:11.0) like Gecko';

  // Edge 12 (Spartan)
  // ua = 'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36 Edge/12.0';

  // Edge 13
  // ua = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2486.0 Safari/537.36 Edge/13.10586';
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32292543

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档