JavaScript中的一个主要冲突是MooTools(一些Joomla函数需要)和其他JavaScript库之间。最常见的是通常用作DOM选择器的$全局变量。
在MooTools中,它仅通过ID进行选择,而在JQuery等其他库中,它使用CSS选择器。
所以,如果你有一个Joomla扩展,加载另一个JavaScript库像JQuery,你会遇到问题。对于JQuery,有一个特定的解决方案。 http://docs.jquery.com/Using_jQuery_with_Other_Libraries
然而,对于其他库,您需要深入研究JS,或者使用提供相同功能但使用MooTools的扩展。
至于CSS,解决这个问题的唯一方法就是编辑CSS文件。良好的扩展应该为他们的CSS使用某种名称空间。例如,使用组件名称前缀所有CSS类。或者将所有HTML包装在以组件或模块名称命名的包装元素中。
如果这不存在,您必须自己添加它。
也许最简单的是编辑HTML扩展,并添加:
<div id="extension-name">
<!-- extension HTML here -->
</div>
各地扩展。
然后编辑扩展CSS和CSS选择前加
#extension-name
。
例如,如果您有:
.left-column {
float: left;
}
将其更改为:
#extension-name .left-column {
float: left;
}
你甚至可以用正则表达式搜索这个过程自动化和替换。
我只是问有没有什么办法可以避免使用Javascript或其他方法的css和脚本之间的冲突 – 2009-10-28 08:20:22
没有触及代码,你可能能够找出冲突或重叠的CSS(例如使用Firebug)。对于冲突的JavaScript,您需要一定的脚本语言知识水平,然后您可以执行调试跟踪(例如使用Firebug)。 – 2009-10-28 08:35:42