我想在firefox扩展的侧边栏中使用jQuery。这就是我在sidebar.xul
中包含jQuery的方法 <script type="application/x-javascript" src="chrome://myaddon/content/
scripts/jquery/js/jquery-1.4.4.min.js"/>
<script type="text/javascript">jQuery.noConflict();</script>
第一个问题,为什么我们使用jQuery.noConflict()
函数?
我尝试了其他一些问题的解决方案,但它对我不起作用。
在FF 3.6.13上,这对我不起作用:
<script type="application/x-javascript"
src="chrome://myextension/content/scripts/jquery/js/jquery-1.4.4.min.js"/>
<script type="text/javascript">
jQuery.noConflict();
jQuery(document).ready(function () {
alert("hello");
});
</script>
答案 0 :(得分:2)
当您包含其他库(如prototype,mootools,YUI等)时,当一个或多个库与jQuery一起使用时会出现问题,因为它们还使用$()作为其全局函数并定义变量。这种情况会产生冲突,因为jQuery和其他库将$()用作其全局函数。为了克服这种情况,jQuery引入了jQuery.noConflict()。
所以你基本上可以做到
var $j = jQuery.noConflict();
现在您可以使用$j()
而不是$()
至于firefox插件,我假设你指的是firebug。您在jquery中键入的区域称为控制台。您可以在http://getfirebug.com/commandline
了解更多信息
答案 1 :(得分:1)
这是警告hello
吗?
<script type="text/javascript">
jQuery.noConflict();
jQuery(document).ready(function () {
alert("hello");
});
</script>
如果确实如此,则jQuery正在运行。抱歉,这似乎是非常简单的答案。