In meinem Skript unten verwende ich Javascript, um JQuery zuerst dynamisch zu laden. Sobald geladen, möchte ich Namespace Jquery $
, so dass ich einen anderen Namen für meine Website verwenden kann. Zum Beispiel, anstatt $('body').
anzurufen, möchte ich MYNAMESPACE('body')
anrufen. Aber ich kann den Namaspacing nicht richtig machen. Bitte helfen Sie mir dabei. Dank ..Wie Namespace Jquery auf meiner Website verwendet werden
(function() {
function loadScript(url, callback) {
var script = document.createElement("script")
script.type = "text/javascript";
if (script.readyState) { //IE
script.onreadystatechange = function() {
if (script.readyState == "loaded" || script.readyState == "complete") {
script.onreadystatechange = null;
callback();
}
};
} else { //Others
script.onload = function() {
callback();
};
}
script.src = url;
document.getElementsByTagName("head")[0].appendChild(script);
}
loadScript("/plugins/system/conversekit/js/jquery.js", function() {
//jQuery loaded
alert('jquery loaded');
var cKit = (function($){
var loadScripts = function(){
var jq = $.noConflict();
return jq;
}
return {
ConversekitJs : loadScripts// I expect this to return namespaced jquery
};
}
})(jQuery);
var js = cKit.ConversekitJs(); //function call
//so that I may use jq instead of $ or jQuery
js('body').css('background-color', '#ff0000');
});
})();
EDIT basierend auf Antwort von RJ vorgeschlagen:
var myNameSpace = jQuery.noConflict();
(function(myNameSpace) {
//Use your namespace
myNameSpace('body').css('background-color', '#ff0000');//works
myNameSpace.getScript("/js/events.js");//in this file myNameSpace has no effect..
})(myNameSpace)
In events.js
myNameSpace('body').css('background-color', '#ff0000');//doesn't work
Aber wenn ich var myNameSpace = jQuery.noConflict();
oben auf der Seite hinzufügen würde es funktionieren ..Das ist was ich vermeiden will. Anstatt dies auf jeder Seite zu deklarieren, möchte ich einmal in der obersten Ebene definieren.
Was ConversekitJs ist? –
Namespace, die ich gab ... aber es ist falsch gemacht..pls korrigieren – 112233
Sie können nicht cKit von Rückruf –