我正在开发一个jQuery插件,它使用另一个插件 - 大胆的弹出窗口(http://dimsemenov.com/plugins/magnific-popup/)。
因此,当我初始化我的插件时,我需要在DOM中搜索任何大型脚本(css或js),以防用户已经使用此插件。如果我找不到它,那么我将jc脚本后的巨型css附加到head标签和js文件。一切都相当直接。但我想知道的是,这是否是最好的方法呢?
我可以预见一些问题,例如检测可能不适用于我的插件的旧版本或修改版本的宏大脚本。或者用于我的插件的magnific实例与用户的magnific实例冲突。
因此可能会非常麻烦。但除了开发我自己的单独的灯箱,类似于我的插件的巨大(我不想做),我无法看到任何其他方式。
答案 0 :(得分:0)
假设您的插件已经加载后,用户添加了依赖插件,您可以在插件中执行此操作(伪代码):
if ('function' === typeof jQuery.fn.magnific) // or whatever the plugin is called
{
// plugin is already loaded
}
else
{
// plugin NOT loaded
}
对于css,你可以在头部加载的样式表中进行dom搜索,前提是你知道了depednency插件的css url(或者甚至是它的一部分)
例如(伪代码,未测试):
var isCSSLoaded = $('head').children('link').filter(function(){ return /magnific.css$/.test(this.href); }).length > 0;