问题标签 [content-script]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
10088 浏览

google-chrome-extension - 如何在两个不同选项卡的内容脚本之间传输数据?

在我的扩展中,我需要将一些数据从一个选项卡的内容脚本传输到另一个选项卡的内容脚本。如果我知道该选项卡对象名称或 url 的一部分,如何使用 chrome.tabs 选择某个选项卡?两个标签的脚本如何通信?

更新:

显然我在 chrome.extension 中没有方法 sendMessage。当我从内容脚本运行以下内容时:

我进入控制台:

未捕获的类型错误:对象 # 没有方法 'sendMessage'

0 投票
1 回答
2822 浏览

javascript - 添加一个在点击时调用内容脚本函数的按钮?

我在 Google Chrome 扩展的 content.js 中有以下代码:

该按钮已成功创建,但是当我单击它时,该消息未出现,并且在 Google Chrome 控制台中出现以下错误:

未捕获的 ReferenceError:未定义 goFrame

0 投票
2 回答
841 浏览

google-chrome - 创建所有 dom 后如何运行 google chrome 扩展的内容脚本

我有一个 google chrome 扩展程序,需要从 dom 获取视频 URL

我发现视频元素是在页面加载后由 javascript 创建的。所以我尝试在“document_idle”阶段运行上面的内容脚本。但似乎视频元素即使在那时也没有初始化。

有什么方法可以让我稍后运行内容脚本,然后初始化视频元素?

0 投票
1 回答
17556 浏览

javascript - Chrome 扩展:内容脚本和 background.html 之间的通信

我是 Chrome 扩展程序的新手。我正在尝试在内容脚本和background.html页面之间进行通信。background.html向内容脚本发送请求“ hello ,内容脚本应以“ hello background ”警报响应。但它只是没有发生。我的background.html代码是:

content.js代码:

popup.html代码:

清单.json

请帮忙!

0 投票
2 回答
947 浏览

regex - 如何使用pagemod排除Firefox插件内容脚本中的网站?

我正在开发用户脚本的 Firefox 插件版本。使用 page-mod 库的插件语法非常简单。例如:

test.user.js这将为匹配的站点运行脚本*.example.com。然而,在一个典型的用户脚本中,我还可以指定一个排除行,这样我就可以轻松绕过包含的 url 的子目录。IOW,我想要这样的一行:

但是pagemod文档没有列出任何这样的选项(它似乎也不存在)。 在这种情况下,我将如何指定排除项?

看起来 include 也可以接受从正则表达式构建的匹配模式。但是,我无法想象正则表达式会匹配 *.example.com 但不匹配 *.example.com/subdir(但也匹配 *.example.com/othersubdirs)。

0 投票
1 回答
8377 浏览

google-chrome - chrome 检查器中的内容脚本是什么

虽然这可能是一件非常基本的事情,但我似乎无法找到这个问题的答案。我看到很多关于content scripts. 当我打开并选择web inspector时,我看到一个名为. 我看到几个随机数和一些脚本,但我似乎无法弄清楚这些是什么。这些是如何显示的?这些是从哪里来的?我看不到我的服务器提供这些服务。chromesourcescontent scripts

0 投票
1 回答
1839 浏览

javascript - 将文本文件读入数组

可能重复:
在内容脚本中读取使用 Chrome 扩展程序打包的文件

我想开发一个需要执行以下操作的小型扩展:

  1. 读取文本文件(随扩展程序一起提供)
  2. 将每一行保存为数组中的字符串
  3. 检查页面的 URL 以查看它是否是与其兼容的页面之一。
  4. 阅读页面以查找数组中存在的单词
  5. 将这些词链接到谷歌搜索。

所以,第 3 步到第 5 步,我知道该怎么做,但第 1 步和第 2 步让我迷失了方向。我正在考虑通过 获取文件chrome.extension.getURL("files/mytext.txt");,但这只会给我文件,不会读取它。

谢谢!编辑:格式化

0 投票
5 回答
83679 浏览

jquery - 用 css 或 jquery 覆盖 !important

(这是在 chrome 扩展中使用内容脚本)

我需要覆盖网页标记为的一些 css 属性!important。这可能吗?

例如,如果我想去掉标记为重要的边框:

0 投票
2 回答
6211 浏览

javascript - 将 @font-face 样式表规则添加到 chrome 扩展

通过 chrome 扩展添加 @font-face 样式表规则的推荐方法是什么?问题是字体嵌入的 url 位于扩展内,所以我必须在 javascript 中执行才能使用chrome.extension.getURL.

我已经尝试document.styleSheets[0].addRule过一个内容脚本,但这没有用。为了澄清,我还在 web_accessible_resources 下列出了字体。

0 投票
1 回答
182 浏览

javascript - 如何操作 Google-Tasks 添加的节点?

我目前正在尝试更改此 Google-tasks 小工具的样式元素:

使用 chrome 内容脚本。

在此示例中,我将删除底部的工具栏。因为谷歌正在使用 javascript 生成 HTML,并将其放在 iframe 中。我需要使用这段代码:

当您从开发人员控制台运行此代码时,它会隐藏工具栏。但它不能用作内容脚本。

我认为这是因为代码是在页面准备好之前运行的。所以我尝试使用事件监听器:

但这也没有用。还尝试了事件侦听器“domready”和“load”。但他们都没有工作。

我如何获得该元素?