首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LABjs加载IE条件

LABjs加载IE条件
EN

Stack Overflow用户
提问于 2012-08-25 02:01:07
回答 1查看 476关注 0票数 0

我和LABjs有点问题。我加载了所有的脚本,但当我在IE中使用它时,它完全崩溃了。

代码语言:javascript
复制
 $LAB
     .script('https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js').wait()
     .script('https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.min.js')

如果我添加一个条件语句

代码语言:javascript
复制
<!--[if IE ]>
     <script type="text/javascript" src="somescript.js"></script>
<![endif]-->

这将会失败。我如何将其包含到LABjs中?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-26 00:31:49

我首先强烈地说,你不应该再只做IE脚本了。但是,如果你真的必须这样做,并且在你因为那次糟糕的练习而数次拍打自己的手腕之后……

代码语言:javascript
复制
(function(){

   // From: http://james.padolsey.com/javascript/detect-ie-in-js-using-conditional-comments/
   var ie_version=(function(){var c,a=3,b=document.createElement('div'),d=b.getElementsByTagName('i');while(b.innerHTML='<!--[if gt IE '+(++a)+']><i></i><![endif]-->',d[0]);return a>4?a:c})();

   $LAB.setOptions({AlwaysPreserveOrder:true})
   .script('https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js')
   .script('https:///ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.min.js')
   .script(ie_version ? 'somescript.js' : '')
})();

ie_version代码片段来自:http://james.padolsey.com/javascript/detect-ie-in-js-using-conditional-comments/,它使用动态创建的IE条件注释来确定IE版本。

注意:根据您发布的内容,我假设"somescript.js“需要严格在jquery和jquery-ui脚本之后执行。如果不是这样,您可以根据需要将它放在$LAB链中的不同位置,并且可以去掉setOptions({AlwaysPreserveOrder:true}),只在需要/需要的时候在链中使用wait()

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12114456

复制
相关文章

相似问题

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