在整个站点中查找CSS id / class的每个实例

时间:2012-02-28 13:30:12

标签: css joomla

在进行可能会产生意外后果的CSS更改之前,找到使用id或class的整个网站(不仅仅是这个页面)的其他地方有什么好方法? (它不一定是详尽无遗的,半手动过程也是可以的。)

对于一些上下文,它是一个基于Joomla的网站,内容很多,而且我还不熟悉它的大部分内容。有问题的ID有两个字母的名称,我不知道它可能在哪里使用。对于任何类似grep的方法,我都无法直接访问服务器。

我能想到的唯一技术是使用Stylish来对该选择器进行明显更改,并浏览网站以查看它弹出的位置。

5 个答案:

答案 0 :(得分:3)

最简单的方法是本地grep,但由于您无法访问服务器,请尝试使用wget在本地下载:

wget -r -l --domains=http://yourdomain.com http://yourdomain.com

这将以递归方式将您网域中的网页检索到无限深度,但只能跟踪指向您网域中网页的链接。 一旦它在磁盘上,做一个本地grep,你就是黄金。

答案 1 :(得分:1)

这实际上并不像听起来那么难。首先查看模板的index.php文件。除非模板来自使用模板框架的开发人员,否则此文件应该非常小而没有大量代码。如果ID在那里,那么它将显示在网站的每个页面上,因为这是构建每个页面的基础。

如果在那里找不到它,则需要确定它是在模块位置还是在组件区域中显示。您应该能够通过查看模板中的index.php文件来区分它。

如果它位于模块位置,则ID应仅显示在该特定模块的实例中。

如果它在组件区域中,那么它应该只显示在组件创建的任何页面中。这确实留下了影响许多你不想改变的元素的可能性。但是有一个解决方案。您可以在菜单项中使用页面类后缀,为要更改的页面添加唯一的ID /类(取决于您的模板)。使用该唯一后缀,您可以创建一个特定的选择器,该选择器只会影响您想要更改的页面。

答案 2 :(得分:1)

我使用unused-css.com来做这类事情。您只需放入您的网页,它将浏览整个网站(包括登录)并为您提供您实际使用的CSS。

我发现它是正确的95% - 但它只是没有接受像某些CSS浏览器黑客和一些错误(即CSS只在错误后显示),所以它应该工作正常此

您还可以检查原始模板(假设模板是商业模板),以查看id 应该的位置(它们通常在他们的演示模板中放置所有内容),但是unused-css不会告诉你它的确切使用位置,只要它是否合适。为此,我从一个view-source开始 - >找到主要页面,然后尝试其他提到的解决方案。

答案 3 :(得分:0)

将整个站点的源代码树放入像NetBeans或Eclipse这样的IDE中,然后在根文件夹上对id =“theid”进行递归搜索。

如果无法做到这一点,您如何更新CSS?

答案 4 :(得分:0)

假设你不想做grep方法:

有问题的ID是否出现在页面的实际内容区域或“周围”区域?如果它看起来不是内容的一部分,而是出现在模板中,您可以搜索模板文件。在您更新CSS时,我将假设您至少可以获取模板文件。许多文本编辑器/ IDE将允许您进行“全局搜索”。我将在TextMate(我选择的texteditor)中加载模板文件,并为特定ID执行“在项目中搜索”。

这至少可以让您了解ID出现在网站的哪个位置。不,它不会是每个“页面”,但你会知道它出现在页面上的(使用CMS,它实际上是你所追求的)。

如果有问题的ID出现在内容中,即内容创建者手动输入,则您必须转到另一条路线。你有权访问数据库吗?如果你可以获得数据库的转储(我认为 Joomla!是基于MySQL的),你可以在Sequel Pro之类的东西中打开sql并在内容记录中搜索该ID。

相关问题