Ich erstelle ein benutzerdefiniertes jQuery-Plugin für ein Projekt, an dem ich gerade arbeite. Ich möchte ein Objekt, das zu einem anderen jQuery-Plugin passt, zurückgeben ... anstatt sicherzustellen, dass jede Seite, die mein Plugin benutzt, auch dieses andere Plugin hat, ist es möglich, es in das eigentliche Plugin zu integrieren?Wie man ein externes Plugin in ein anderes jQuery-Plugin einbaut, das erstellt wird
vielmehr die folgenden auf jeder Seite als ein, die mein Plugin verwendet:
(function($) {
$.include('url_to_plugin');
//code to implement my plugin
})(jQuery);
Danke für den Vorschlag:
<script type="text/javascript" src="url_to_my_plugin" />
<script type="text/javascript" src="url_to_plugin" />
ich eine Option, die erlauben würde, so etwas wie, wenn es sehen wollte Marko ... Ich mache vielleicht etwas falsch, weil das Plugin, das ich verweise, nicht erkannt wird. Unten ist mein Code:
(function($) {
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = 'jquery.simplemodal.js'; //in same dir as my plugin
//tried both
document.body.appendChild(script);
document.getElementsByTagName('head')[0].appendChild(script);
$.fn.SUI_CheckProgress = function(options) {
return this.each(function() {
var obj = $(this);
var nDiv = $('<div>');
nDiv.modal(); //error nDiv.modal() is not a function
$(obj).append(nDiv);
}
};
});
ich sowohl innerhalb als das Skript versucht, zu erklären und außerhalb des eigentlichen Funktionsaufrufes (das Ideal ist es global zu geschehen). Ich habe überprüft, ob der Code korrekt ausgeführt wird, wenn ich auf das Skript in der Seite referenziere, von der ich anrufe. Wenn ich die Referenz entferne, schlägt sie fehl. Jede zusätzliche Information zum programmatischen Hinzufügen von Skripten zu einer Seite wäre willkommen.
Fixed: Mein Problem war, dass ich das gleiche Verzeichnis wie das js-Plugin verweise, aber wenn es zu der Seite hinzugefügt wird, ist es außerhalb dieses Verzeichnisses.
war
script.src = 'jquery.simplemodal.js';
Fest
script.src = 'js/jquery.simplemodal.js';
Sie nicht in eine jquery obj' machen ' Objekt zweimal ... benutze 'obj.append (nDiv)' – Mottie
das war tatsächlich, weil der Anruf in einem Ajax-Aufruf eingebettet ist, verließ ich die Ajax-Sachen, um zu vereinfachen. – jon3laze