【问题标题】:How to change text of Element Inspector tooltip/highlight via Chrome Extension?如何通过 Chrome 扩展更改元素检查器工具提示/突出显示的文本?
【发布时间】:2015-05-11 12:12:32
【问题描述】:

我想更改 Chrome 元素检查器的工具提示文本。 (在树视图中悬停节点时您在页面中看到的那个)。我想在此处添加其他信息。

这有可能吗?我在文档中找不到任何信息。

或者在高亮矩形的另一个角创建一个新的小工具提示(不会干扰现有的)也可以。感谢您提供任何提示和提示。

【问题讨论】:

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


    【解决方案1】:

    所以答案基本上是“你不能在扩展中这样做”(如修改开发工具工具提示)。

    Charles' answer 指向a guide,它谈论替换 Chrome 开发工具。使用 Chrome 的命令行是可以的,但不是扩展程序可以做到的。


    但是,您可以在页面中注入一个模仿开发工具突出显示的内容脚本。它不会与开发工具集成,但可能足以满足您的目的。

    你可以看看ABP's implementation的元素选择/高亮作为起点。我想它在this file

    【讨论】:

      【解决方案2】:

      text format is hard-coded 作为节点名、ID 和类名的串联。更改这些值中的任何一个都将更改显示的工具提示。例如,使用element.className = 'Hello\xA0world!'; 设置类名会生成一个包含Hello world! 的工具提示(注意:我使用的是不间断空格\xA0,因为标题中的普通空格被替换为点)。

      以前的方法在自定义文本的定位或着色方面没有提供很大的灵活性。获得对显示文本的更多控制的一种方法是编辑 resources.pak 中的 devtools 源代码。这个过程在this answer 中有详细解释(阅读,然后再继续)。

      显示的文本是由InspectorOverlayPage.html 呈现的叠加层的一部分。编辑resources.pak,搜索该行(例如通过搜索id="element-title")并修改它(确保字节数不变,例如通过重命名标签、删除引号和/或折叠多余的空白)。例如:

      OLD:  <span id="node-width"></span><span class="px">px</span><span class="px"> &#xD7; </span><span id="node-height"></span><span class="px">px</span>
      NEW:  <a id=node-width></a><a class=px>px</a><a class=px> &#xD7; </a><a id=node-height></a><a class=px>px</a><a style="color:red;">My custom text</a>
      


      只改变颜色

      如果你只是想改变颜色,那么你也可以通过改变resources.pak中的(硬编码的)颜色配置来解决这个问题。 突出显示颜色在Source/devtools/front_end/common/Color.js 中的WebInspector.Color.PageHighlight 中定义。此资源被缩小并包含在resources.pak 中,因此如果您使用十六进制编辑器打开resources.pak 并查找WebInspector.Color.PageHighlight=,那么您将找到一种更改默认颜色值的方法(注意:当我刚刚尝试此方法时,我发现这个字符串出现了两次,我必须修改第二次才能得到想要的效果。

      例如,要更改框内容的颜色,我修改了Content 颜色定义。在resources.pak 内部,有一长行包含WebInspector.Color.PageHighlight={Content:WebInspector.Color.fromRGBA([111,168,220,.66]),

      改成WebInspector.Color.PageHighlight={Content:WebInspector.Color.fromRGBA([255, 0,0 ,.66]),后(注意:字符数必须匹配,如果需要用空格填充),默认框为红色:

      替代方案

      除了修改resources.pak,您还可以更改颜色的create an extension that runs in the content of the developer tools,例如致电WebInspector.Color.PageHighlight.Content = WebInspector.Color.fromRGBA([255, 0,0,.66]);

      或者,如果您根本不想与 devtools 集成,您可以创建一个使用 chrome.debugger API 和 devtools 协议的扩展,以使用 DOM.highlightNode command 突出显示节点。

      另一种选择是在https://crbug.com/new 上打开功能请求并要求更改颜色的选项。 similar feature request was shot down,因此此选项不适用于您当前的情况。

      【讨论】:

      • 这个答案有点离题。我不想改变高光的颜色!我想更改文本(也许为文本着色)。但是感谢您的长篇回答
      • @Möhre 啊,我的错。我误读了这个问题。如果有人想更改颜色而不是文本,我仍然会保持它。
      • @Möhre 我已经编辑了答案以包含有关更改文本的说明。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-29
      • 2020-07-14
      • 2021-08-29
      • 2020-02-08
      相关资源
      最近更新 更多