我运行一个使用CSS伪元素的网站来插入文本。其中一个插入了CSS计数器的值(因此需要对系统进行大量的重新设计才能执行此操作而不用 CSS文本注入)。具体的CSS规则是:
.num_defn .theorem_label:after {
content: " " counter(definition, decimal);
counter-increment: definition;
}
并将“定义”转换为“定义1 ”(比如说)。
但是,浏览器无法搜索注入的文本。它没有看到1
:如果我搜索“定义1”然后它找不到它,如果我搜索“定义。无论定义文本是什么”,那么浏览器会高兴地突出显示该行对于插入的1
。因此,如果您将粗体文本想象为突出显示,它将如下所示:
定义 1 。无论定义文本是什么
这不太理想!人们喜欢用数字来引用定义并说“在XYZ页面上查看定义1”(以及在没有超链接的情况下 - 很奇怪,我知道,但它确实发生了。)
因此:
答案 0 :(得分:4)
据我所知,没有办法。您可能可以使用JS来访问该信息,但这可能是某种“黑客”事情。
当你想到HTML和CSS的目的时,我认为这是有道理的。您可能知道HTML旨在描述内容的语义含义,而CSS则用于控制页面的外观。因此,简而言之,如果您使用CSS将任何文本添加到您的页面,那么它应该仅仅是出于风格目的。
如果它是对网站访问者有意义的实际文本,则需要将其直接以HTML格式存储在您的网站中。
您执行此操作的方式也违背了最佳做法。因为如果你要禁用CSS,一些内容会消失。