注意:我已经使用了wp_dequeue_script或wp_deregister_script,但没有成功
这里是一个场景,我制作了一个使用jquery-cycle2的图像滑块插件,它成功地工作了。
有一个用户使用wp主题,在主题中有一个jquery-cycle1,现在当他安装我的插件jquery-cycle1和jquery-cycle2冲突时,当用户删除jquery-cycle1文件时,所有事情都很好,很完美,但我不想逐个用户删除文件。
现在,我正在尝试,当用户安装我的插件时,jquery-cycle1在主题上关闭或取消注册,或者停止其效果。
我成功地从主题中获得文件
if((file_exists($theme_file_path."/jquery.cycle.all.js"))){
echo "yes";
}但是我不知道关闭jQueryCycle1文件或停止它的效果。
最后一个选项:我有最后一个解决方案,从主题中删除文件,但这是我的最后一个选项。
请有任何建议,帮帮我。
发布于 2014-11-17 09:46:48
你必须在你的主题上贴一个不兼容的告示。
无法尝试从服务器端检测脚本的存在。您可以通过word press方法检测排队的脚本,但是,这假定用户没有简单地将文件与<script></script>标记链接。file_exists方法假定文件存储在服务器本身-它可以从CDN或另一台服务器链接。
此外,无论您使用什么方法来检测和删除jQuery-Cycle,您都将破坏站点上使用现有插件的任何功能。
因此,你能设计出的任何解决方案要么是极其复杂的,要么是不够概括的,无法解释所有这些可能性。
您可以使用以下方法来防止加载脚本
if (jQuery().cycle) {
// Script already loaded
console.log("Error: Another version of jQuery-Cycle is already loaded!");
} else {
// Load your script
}但这不能卸载已经加载的内容。
发布于 2014-11-22 22:18:16
有一个简单的黑客,你可以做在你的终端。在Cycle2源代码中,将所有$.fn.cycle替换为$.fn.cycle2和).cycle(到).cycle2(。我正在使用这里的源代码http://malsup.github.io/jquery.cycle2.js
之后,您可以访问它,就像
$("#id").cycle2({option})下面是一个演示http://jsfiddle.net/33g6z79h/
在这里,我假设您没有使用循环事件http://jquery.malsup.com/cycle2/api/#events和循环额外的转换。如果您正在使用它,您可以为您的cycle2实现做一个小提琴,我很乐意帮助:)
https://stackoverflow.com/questions/26931144
复制相似问题