이 문제에 대한 많은 게시물을 읽고 jQuery를 포함하는 모든 방법을 시도했습니다.글로벌 네임 스페이스에 충돌이없는 Firefox 확장 기능의 jQuery
xul 파일에 jQuery를로드하고 변수에 저장하면 작동합니다. 그러나
jQuery.noConflict();
sbsh.safeWalletUtils.$ = function (selector, context) {
return new jQuery.fn.init(selector, context || doc);
};
sbsh.safeWalletUtils.$.fn = sbsh.safeWalletUtils.$.prototype = jQuery.fn;
(How to use jQuery in Firefox Extension에서와 같이), 나는 여기에 제안 솔루션은 훨씬 더 의심 :
var doc = event.originalTarget;
var wnd = doc.defaultView;
// load jQuery and save it as a property of the window
myprivatejQuery = loadjQuery(wnd)
그러나 I를 : 페이지로드 이벤트 처리기에서 http://forums.mozillazine.org/viewtopic.php?f=19&t=2105087
loadjQuery: function(wnd){
var loader = Components.classes["@mozilla.org/moz/jssubscript-loader;1"]
.getService(Components.interfaces.mozIJSSubScriptLoader);
loader.loadSubScript("chrome://clhelper/content/jquery/jquery-1.5.js",wnd);
var jQuery = wnd.jQuery.noConflict(true);
loader.loadSubScript("chrome://clhelper/content/jquery/jquery.hoverIntent.js", jQuery);
return jQuery;
},
계속 wnd.jQuery가 정의되지 않은 채로 있습니다. (링크에있는 사람들 중 일부는 문제라고 말했습니다.)
어떻게해야합니까? jQuery는 어떻게 사용합니까? 파이어 폭스 확장 기능 내에서의 충돌에 대해서는 걱정하지 않으셔도됩니다.
질문에 대한 답변이 없지만 위의 작업을 수행하기 전에'$'또는'jQuery' 변수가 이미 네임 스페이스로되어 있는지 확인해야합니다. – Ohgodwhy
네, 그렇다고 오래된 버전 일 수도 있습니다. 여하튼, 나는 somemore를 실험해야만합니다. –