使用带有 RequireJS 的条件注释来加载 IE7/8 仅 jQuery
Using conditional comments with RequireJS to load IE7/8 only jQuery
我在我的项目中使用Require JS,它正在加载jQuery和其他一些与整个站点和所有浏览器相关的JavaScript文件。
但是,我需要在Internet Explorer 7和8上使用一些条件jQuery,我尝试将其放在页面的头部,脚本似乎无法找到jQuery,我假设这是因为它在jQuery之前加载。
<script data-main="/@ViewBag.ScriptsFolder/main" src="/scripts/require.js" type="text/javascript"></script>
<!--[if (gte IE 6)&(lte IE 8)]>
<script type="text/javascript" src="/Scripts/ie.js"></script>
<![endif]-->
有什么办法可以纠正这一点吗?我也在尝试以这种方式加载 Selectivizr,但由于同样的问题而不起作用。
谢谢
您可以在 html
元素上使用特定于 IE 的条件类,然后检查它并将 IE 依赖项加载到现有 main
脚本中。因此,文档的顶部如下所示:
<!--[if lt IE 7]> <html class="ie lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]> <html class="ie lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]> <html class="ie lt-ie9"> <![endif]-->
<!--[if gt IE 8]> <html class="ie"> <![endif]-->
<html>
然后在main.js
中,您可以使用:
if ($('html.lt-ie9').size()) {
require(['/Scripts/ie'], function(ieScript) {
// ... do stuff
});
}
你不能使用你所描述的方法,因为require.js会寻找一个data-main
属性来指定"入口点"——任何后续对require
的调用都应该在Javascript中完成。
相关文章:
- 任何人都知道IE7设置或更新/补丁,它可以防止IE因为jquery错误而无法加载页面
- IE7 未加载 JavaScript 文件
- 无法在 IE6 和 IE7 上加载 ajax
- 在IE7中加载窗口
- 使用带有 RequireJS 的条件注释来加载 IE7/8 仅 jQuery
- 如何在IE7上重新加载带有指定查询字符串的页面
- jQuery Colorbox IE7 问题与内联 ajax 加载的内容
- 在IE7+中部分重新加载后未附加Javascript事件
- 有没有办法阻止ie7加载一些内联javascript
- IE7和IE8的Javascript代码加载问题
- 在IE7, IE8中首次加载时字体过大
- 当JS在不同的域上加载时,IE6, IE7会丢失过期的cookie
- IE7 Javascript文件加载-优化
- 如何在ie8和ie7的主体加载事件时关闭窗口
- IE7 asp.net mvc加载错误
- Internetexplorer-iframe在IE7/8中用Javascript加载
- 可以't在IE7中加载jqgrid
- IE7/8中随机触发的图像加载事件
- ie7不使用jquery执行加载的脚本
- 调试IE7 ajax加载的javascript