问题标签 [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 投票
1 回答
1880 浏览

dom - Chrome 扩展内容脚本未访问注入它的页面的 DOM

我正在尝试从用户正在查看的页面中提取数据并将该数据发送到扩展弹出窗口。我在从当前页面提取信息时遇到了麻烦。在查看了谷歌代码教程后,我设置了我的清单和内容脚本,如下所示。当我转到一个跨度为 id="comments" 的测试页面时,来自注入内容脚本的变量总是以 null 结束。有人知道我可能会错过什么吗?谢谢!

0 投票
1 回答
3739 浏览

dom - Chrome 扩展 - 内容脚本无法按类名查找元素

我正在尝试使用 Chrome 扩展的内容脚本从页面访问具有特定类名的元素。到目前为止,内容脚本可以使用 document.getElementById() 成功找到具有特定 id 的元素,但使用 document.getElementsByClassName() 或 jQuery 的 $(".className") 不会产生任何结果。为了测试,我使用“标题”作为我的类名,并且我在其上运行扩展的每个网站都导致数组长度为 0。有什么想法我可能会遗漏吗?这是我一直在测试的:

0 投票
1 回答
4619 浏览

javascript - 支持内容脚本中的所有 google 域

我正在制作一个对谷歌结果网页执行某些操作的内容脚本。

下面的行manifest.json无效。

“匹配”:[“https://www.google.*/*”]

由于 manifest.json 中的上述行导致的错误是:

'content_scripts[0].matches[0]' 的值无效:主机通配符无效。

我想在 google.com、google.co.in、google.de 等各种域上运行脚本。我该如何实现?

0 投票
1 回答
908 浏览

google-chrome-extension - contentscript、动态创建的 iframe、postmessage

我正在尝试从内容脚本中注入 iframe。从内容脚本中,向 iframe 发布消息,但没有多大成功。这是我得到的最接近的。控制台中没有错误/警告,但它不起作用(警报测试)。

内容脚本:

postMessage.js

我也试过

编辑:我试图确保 iframe 在 postMessage 之前加载,即使我在那里发出警报,它也会提醒我 iframe 已加载。

EDIT2:我确实通过将 iframe 从 contentscript 移动到 inject.js 脚本来使其工作。并不完全理想,但我想我现在确实可以使用它。

iframe.php

然而,我可以做相反的事情,从 iframe 与父脚本交谈。

0 投票
1 回答
291 浏览

google-chrome-extension - 点击事件未报告给 Gmail 页面的 Chrome 扩展程序

我的扩展只是根据用户点击在页面上执行操作;它适用于除 Gmail 之外的所有网站。

这是我的清单文件:


当我点击一个网页时,我inject.js通常会触发一个alert()-- 它处理onclick事件。但是,在 Gmail 页面上,它不会捕获点击事件。

0 投票
2 回答
3856 浏览

jquery - 选择