- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
问题:是否有一种“内置”或“简单”的方法可以在 jquery.js 脚本包含之前设置 jQuery 命名空间?
我问这个问题的原因是因为我正在编写一个利用 jQuery 库的脚本,并且该脚本要运行到一个已经有使用 $
命名空间的库的页面上。通常我可以只使用 jQuery.noConflict() ,但问题是,页面上有一些代码(我无法控制) Hook 鼠标移动事件和其他基本上触发对第三个调用的内容在整个时间里一遍又一遍地编写代码,事实上,在加载 jQuery 脚本和调用 .noConflict()
之间,js 错误常常发生。 我无法控制或更改该第三方脚本。
所以基本上我需要实例化 jQuery 对象,而无需首先使用 $
命名空间。现在..我确信我可以对jquery.js进行逆向工程并使其不这样做,但在我走这条路之前,我想其他人肯定也遇到过这种情况..但我找不到关于jQuery的官方文档用于在脚本包含之前进行设置;仅在那之后。但我想其他人肯定也遇到过这样的问题,但我似乎找不到任何详细说明这一点的现有问题(可能是我不擅长谷歌搜索)。
有人能指出我正确的方向吗?
编辑:
需要明确的是,这基本上是我需要事情发生的顺序:
<script src='thirdpartyscript.js'></script>
<script type='text/javascript'>
jQuery.noConflict();
</script>
<script src='jquery.js'></script>
我显然不能在 jquery.js
脚本包含之前调用 jQuery.noConflict()
,因为 jQuery
对象/方法不还不存在。
但我不能在脚本包含之后调用它,因为在 jquery.js
完全执行和 noConflict
之间需要一段时间> 进行调用时,thirdpartyscript
已经抛出错误,因为 jquery 控制了 $
,即使只有一微秒或 w/e。
所以..我知道我可以编辑jquery.js
以从不使用$
命名空间,但我想知道是否有一个内置的- 在 jquery.js
脚本包含之前以其他方式轻松破解,因为 a) 我不想破解 jquery.js
本身,因为我'我想继续指向 code.jquery.com 而不是维护我自己的实例,b)这样做实际上涉及到弄清楚要更改什么(公平地说,我快速浏览了一下,它看起来并不多。主要是我的警告与点“a”)
最佳答案
不会工作。如果稍后包含该库,则对象“jQuery”不可用。您可以为此创建一个智能“观察者”。
<script src='thirdpartyscript.js'></script>
<script type='text/javascript'>
// Start an interval
var watch = setInterval(function() {
// Check if jQuery available
if(typeof(jQuery) != 'undefined') {
// Stop the interval
clearInterval(watch);
jQuery.noConflict();
}
}, 500);
</script>
<script src='jquery.js'></script>
关于javascript - jquery 在 jquery 脚本包含之前设置 noConflict (或等效项),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22277367/
我一直在一个页面上使用 2 个不同版本的 jQuery,并尝试利用“noConflict”。 如果我为每个 jQuery 版本建立一个变量(例如:$a 和 $b),我是否会将所有 $ 替换为“$a”和
我想包含 jQuery,并希望我可以做如下的事情: $.noConflict(); jQuery("#id").click(Alert("Hello World")); End.noConflict
我使用 Prototype JS 作为主要 JS 库,并且我已将最后一个 RedactorJS 与 jQuery 以无冲突模式集成,但我无法启动如下功能: jQuery('#redactor').re
我在我的 Rails 应用程序中使用 Prototype 和 jQuery。为了解决 $ 冲突,我执行以下操作: var $j = jQuery.noConflict(); 这基本上工作正
我尝试使用 jQuery.noConflict() 但在 window.load 函数中我收到“$ 不是函数”错误。 我的代码: jQuery.noConflict(); jQuery(documen
我一直在使用 masonry 在 this site 上收到未捕获的类型错误 Uncaught TypeError: Cannot call method 'apply' of undefined 当
我需要使用第三方提供的一些用 jquery 编写的库。一旦我尝试合并 jquery,我们最终会与代码库中的 $ 符号发生冲突。我能够通过为 $ 符号创建别名来解决冲突,然后也在第三方库中使用别名更新
我在同一个 html 页面上使用 javascript 和 jquery 代码。由于某种原因,jQuery 库阻止我的 native JavaScript 代码正常工作。 我找到了这个页面:jQuer
这个问题已经有答案了: Including More Than One jQuery Versions (2 个回答) 已关闭 9 年前。 我有以下代码, alert($().jquery); //
我加载了多个 jquery 库(无法更改这一点,托管 ecom 平台,对某些内容的访问权限有限),所以我需要避免它们发生冲突。当前代码: $(document).ready(function(
这是我尝试使用下划线运行的小代码: var data = [ {"name": "Romania"}, {"name": "Virgin Island
这是我在页面中使用的详细信息... 当我要并行使用所有三个脚本时, slider 脚本不起作用,所以给我解决方案如何一起使用。 最佳答案 使用jQuery.noConflict()
我有两个文件。 HTML 和 .js 文件。在 code.js 中,我编写了 jquery 代码,在 HTML 文件中,我包含了 code.js,如下所示: jQuery.noConflict(
我正在编写一个书签,我想在其中使用 jquery forms 插件。 我遇到的问题是,可能使用书签的网页可能使用不同的 js 库,该库已经使用“$”。没问题,我可以告诉 jQuery 使用 noCon
我有一行代码导致图像 slider 和自动完成的搜索栏之间发生冲突:$J = jQuery.noConflict(); 我在这一行之前有两个脚本:jquery_1-6-4.js 和 jquery.au
我有以下一段 JavaScript,将从客户的网站引用。它使用 jQuery 1.5,所以我的问题是如果客户端已经加载了一个 jQuery 实例怎么办?或者替代的 JavaScript 库? 我正在使
我正在使用我的 Jquery 应用程序和其他 javascript 库。当用谷歌搜索时,我开始知道 Jquery.noConflict() 是避免与其他库发生冲突的解决方案。出于测试目的,我在 htm
我继承了这样开头的脚本: var $j = jQuery.noConflict(); 但我不知道为什么要这样做。我知道我们正在尝试解决冲突,但我如何才能找到它正在尝试解决的冲突? 如果我们找不到真正的
我正在将 jQuery 脚本动态加载到随机页面中。有时他们支持 jQuery,有时他们有其他库,有时他们根本没有任何库.. 我需要支持所有情况,因此,首先我检查 jQuery 是否已加载。如果不是,我
我有一些在 jQuery 中给出的代码,我对它真的很陌生。我需要使用 jQuery.noConflict() 方法,因为我也在使用 Mootools 框架。我只是不知道应该在哪里替换“jQuery”代
我是一名优秀的程序员,十分优秀!