Javascript CSS和Java脚本冲突
我正在为Joomla网站开发一个组件。这个网站有一个复杂的模板,带有精美的css和脚本(即一些K2组件被命名),在这个组件中,我使用colorbox来显示模态图片库,但发生的是 一旦这个组件被称为CSS,模板的javascript属性和功能就会失败,导致一些页面显示磨损。 由于我还没有编写这些CSS和Java脚本,因此防止CSS和脚本之间的冲突对我来说是相当麻烦的 那么我的问题是什么 在不深入实际脚本的情况下,是否有任何方法可以防止这些脚本之间的冲突 请引导我通过这个Javascript CSS和Java脚本冲突,javascript,css,joomla,Javascript,Css,Joomla,我正在为Joomla网站开发一个组件。这个网站有一个复杂的模板,带有精美的css和脚本(即一些K2组件被命名),在这个组件中,我使用colorbox来显示模态图片库,但发生的是 一旦这个组件被称为CSS,模板的javascript属性和功能就会失败,导致一些页面显示磨损。 由于我还没有编写这些CSS和Java脚本,因此防止CSS和脚本之间的冲突对我来说是相当麻烦的 那么我的问题是什么 在不深入实际脚本的情况下,是否有任何方法可以防止这些脚本之间的冲突 请引导我通过这个 Thanx Prevanc
Thanx PrevanceK2是Joomla的一种内容成分。框架插件或附加组件之间发生冲突并不罕见。不幸的是,你可能不得不搜索Joomla或K2论坛来寻找答案。或者,您可以尝试逐个禁用其他插件,直到冲突消失(希望如此)。JavaScript中的主要冲突之一是MooTools(某些Joomla功能上需要)和其他JavaScript库之间的冲突。最常见的是$global变量,它通常用作DOM选择器 在MooTools中,它只按ID进行选择,而在其他库(如JQuery)中,它使用CSS选择器 因此,如果您有一个Joomla扩展来加载另一个JavaScript库,比如JQuery,那么您将遇到问题。对于JQuery,有一个特定的解决方案。 但是,对于其他库,您需要深入了解JS,或者使用提供相同功能但使用MooTools的扩展 至于CSS,唯一的解决方法是编辑CSS文件。好的扩展应该为CSS使用某种名称空间。例如,在所有CSS类前面加上组件名。或者将所有HTML包装在以组件、模块等命名的包装器元素中 如果这不存在,您必须自己添加它 可能最简单的方法是编辑HTML扩展并添加:
<div id="extension-name">
<!-- extension HTML here -->
</div>
在所有CSS选择器之前
例如,如果您有:
.left-column {
float: left;
}
将其更改为:
#extension-name .left-column {
float: left;
}
您甚至可以通过正则表达式搜索和替换来自动化这个过程 我只是想问,是否有任何方法可以避免css和使用Javascript或其他方法的脚本之间的冲突?如果不接触代码,您可能会发现冲突或重叠的css(例如使用Firebug)。对于冲突的Java脚本,您需要一定的脚本语言知识水平,然后您可以进行调试跟踪(例如使用Firebug)。
#extension-name .left-column {
float: left;
}