0

我有一个 jquery1.js 文件间歇性地与另一个 jquery2.js 文件冲突。我想仅在第一个 jquery 文件不存在时才加载第二个 jquery 文件,因为需要这些文件的模块会在整个站点中间歇性地显示。那么是否有可能在 javascript 中至少搜索字符串或内部 html 并对该结果做出决定?

即(在伪代码中)

if (jquery1 exists){do nothing}
else{document.write('<script>/jquery2.js</script>')}

或类似的东西。

4

3 回答 3

2

假设 jquery1.js 有 jQuery 命名空间jQuery(默认),您可以执行以下操作:

<script>!window.jQuery && document.write(unescape('%3Cscript src="/jquery2.js"%3E%3C/script%3E'))</script>
于 2012-08-15T23:48:54.327 回答
2

您是否考虑过使用像YepNope这样的脚本加载器来管理这种依赖关系?

yepnope({
    test: window.jQuery,
    nope: 'jquery2.js',
    complete: function () {
        // Initialise any dependant scripts
    }
});
于 2012-08-16T00:00:18.423 回答
1

我相信$().jquery会返回您正在使用的版本,因此您可以尝试if($().jquery === undefined)

于 2012-08-15T23:50:25.293 回答