gpt4 book ai didi

javascript - 将条件注释与 RequireJS 一起使用以仅加载 IE7/8 jQuery

转载 作者:搜寻专家 更新时间:2023-10-31 21:56:04 25 4
gpt4 key购买 nike

我在我的项目中使用 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 特定类,然后检查它并在现有的 main 脚本中加载 IE 依赖项。因此,文档的顶部看起来像:

<!--[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 完成。

关于javascript - 将条件注释与 RequireJS 一起使用以仅加载 IE7/8 jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11846747/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com