Я не уверен, что это лучшая практика, я бы лично оставил jQuery включенному разработчику, используя мой плагин.
Но если вы настаиваете ...:)
Вы должны использовать 2 файла, один будет вашим плагином, другой - просто загрузчиком:
myplugin_loader.js
var scriptElem;
if(!window.jQuery){
// Include jQuery if it's not already loaded
scriptElem = document.createElement('script');
scriptElem.src = 'jquery-1.6.1.js';
scriptElem.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(scriptElem);
}
// Include the main plugin after jQuery
scriptElem = document.createElement('script');
scriptElem.src = 'myplugin.js';
scriptElem.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(scriptElem);
myplugin.js
(function() {
jQuery.fn.myplugin = function() {
...
}
})();
Если jQuery обязательно загружен, вы можете использовать myplugin.js
, если сомневаетесь, включить myplugin_loader.js
. Хотя, как я уже сказал, я бы порекомендовал против этого.