【问题标题】:Highlight regex based text on Chrome tab?在 Chrome 标签上突出显示基于正则表达式的文本?
【发布时间】:2012-03-26 02:41:58
【问题描述】:

如何在 chrome 页面上选择(或注入 html 粗体标签或颜色标签等)到所有单词,例如以字母“A”开头的单词?

就像Skype分机一样,选择所有电话号码...我想用某些词来做。

有什么想法吗?


编辑

我用过"<h1><font color='red'>$1</font></h1>"

...这就是结果!

【问题讨论】:

    标签: javascript html google-chrome google-chrome-extension


    【解决方案1】:

    就像用户 160820 所说,.replace 是一种格式化文本的好方法,可以完成一个模式。

    您使用 RegExp 查找该模式,并将每个匹配项替换为格式化版本:

    document.body.innerHTML = document.body.innerHTML.replace(/(A.*?\b)/g, "<b>$1</b>");
    

    只有您必须在内容脚本中执行此操作,由清单作为“content_scripts”字段规则自动注入,或通过编程方式从后台页面注入

    chrome.tabs.executeScript(tabId, {file:'yourContentHere.js'});
    

    see executeScript

    如果您想从扩展按钮触发格式设置,您将需要这种方式:浏览器操作或页面操作。

    【讨论】:

    • 太棒了!有用!我会用截图编辑我的答案!非常感谢!
    【解决方案2】:

    这是一个用于突出显示的示例 RegEx。

    var content = document.getElementById("abc").innerHTML;
    document.write(content.replace(/(A.*?\b)/g, "<b>$1</b>"));
    

    但它在Chrome tab? 上究竟意味着什么

    【讨论】:

    • chrome 标签,因为它是一个仅适用于 chrome 打开标签的扩展。我会尝试。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-14
    • 2013-06-16
    • 2011-05-15
    • 2017-05-11
    • 2012-01-13
    • 2019-10-31
    • 2017-06-11
    相关资源
    最近更新 更多