我正在考虑制作某种基于浏览器的插件,也许是 chrome,它使引号之间的文本变为粗体。我想知道,这是否可行,我需要研究什么才能做到这一点?
谢谢
我正在考虑制作某种基于浏览器的插件,也许是 chrome,它使引号之间的文本变为粗体。我想知道,这是否可行,我需要研究什么才能做到这一点?
谢谢
第一:是的,这是可能的。
看看如何开发Chrome 扩展和内容脚本。对于这个问题,我认为内容脚本应该是您正在寻找的解决方案。
要将文本变为粗体,只需在RegExp中查找 HTML 文本(而不是整个 HTML!)中的引号和其中包含的文本,然后将其包裹在强标签中。要查找文本,您可以借助jQuery .text()方法提取文本。
替换脚本的简单模型是:
$(body).text().replace(/"([^"]*)"/mg, '"<strong>$1</strong>"')
如果您决定这样做,您可以在此示例的基础上进行构建。尽管您仍然必须小心不要替换脚本标签内的任何文本。
尽管对于这个简单的脚本,您无需扩展名而是简单的用户脚本。我认为没有必要延长..
如果你想构建一个 chrome 扩展,这里是你需要开始的地方:
$(".boldAllQuotationMarks").each(function() {
$(this).html($(this).html().replace(/"([^"]*)"/mg, '"<strong style="color:#333">$1</strong>"'));
});
最复杂的部分可能是如何定义您将视为引号的内容以及您将如何识别它们。有几十种不同的引号以不同的方式使用,例如,右双角引号 (») 在某些语言中是开引号,在某些其他语言中是右引号,并且既是开头又是结尾用几种语言。此外,此字符通常用作不表示任何类型的引用,而是用作类似箭头的符号。
我不知道你为什么要在引号之间加粗文本,但如果它是为了突出显示某种类型,那么使用独特的背景颜色可能会更好。粗体可能会增加文本的宽度要求,通常不会增加太多,但许多网页的布局都精确到像素,如果单词变宽几个像素,这些布局可能会崩溃。