问题标签 [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.
dom - Chrome 扩展内容脚本未访问注入它的页面的 DOM
我正在尝试从用户正在查看的页面中提取数据并将该数据发送到扩展弹出窗口。我在从当前页面提取信息时遇到了麻烦。在查看了谷歌代码教程后,我设置了我的清单和内容脚本,如下所示。当我转到一个跨度为 id="comments" 的测试页面时,来自注入内容脚本的变量总是以 null 结束。有人知道我可能会错过什么吗?谢谢!
dom - Chrome 扩展 - 内容脚本无法按类名查找元素
我正在尝试使用 Chrome 扩展的内容脚本从页面访问具有特定类名的元素。到目前为止,内容脚本可以使用 document.getElementById() 成功找到具有特定 id 的元素,但使用 document.getElementsByClassName() 或 jQuery 的 $(".className") 不会产生任何结果。为了测试,我使用“标题”作为我的类名,并且我在其上运行扩展的每个网站都导致数组长度为 0。有什么想法我可能会遗漏吗?这是我一直在测试的:
javascript - 支持内容脚本中的所有 google 域
我正在制作一个对谷歌结果网页执行某些操作的内容脚本。
下面的行manifest.json
无效。
“匹配”:[“https://www.google.*/*”]
由于 manifest.json 中的上述行导致的错误是:
'content_scripts[0].matches[0]' 的值无效:主机通配符无效。
我想在 google.com、google.co.in、google.de 等各种域上运行脚本。我该如何实现?
google-chrome-extension - contentscript、动态创建的 iframe、postmessage
我正在尝试从内容脚本中注入 iframe。从内容脚本中,向 iframe 发布消息,但没有多大成功。这是我得到的最接近的。控制台中没有错误/警告,但它不起作用(警报测试)。
内容脚本:
postMessage.js
我也试过
和
编辑:我试图确保 iframe 在 postMessage 之前加载,即使我在那里发出警报,它也会提醒我 iframe 已加载。
EDIT2:我确实通过将 iframe 从 contentscript 移动到 inject.js 脚本来使其工作。并不完全理想,但我想我现在确实可以使用它。
iframe.php
然而,我可以做相反的事情,从 iframe 与父脚本交谈。
google-chrome-extension - 点击事件未报告给 Gmail 页面的 Chrome 扩展程序
我的扩展只是根据用户点击在页面上执行操作;它适用于除 Gmail 之外的所有网站。
这是我的清单文件:
当我点击一个网页时,我inject.js
通常会触发一个alert()
-- 它处理onclick
事件。但是,在 Gmail 页面上,它不会捕获点击事件。
javascript - 如何让 Chrome 扩展程序在页面加载时自动单击按钮?
我正在尝试创建一个在页面加载时按下按钮的 Google Chrome 扩展程序。通过使用以下代码,我已经能够使用 VBscript for Internet Explorer 触发按钮:
但是,现在我需要通过扩展在 Google Chrome 中进行操作。但是,按钮没有 id:
这是我迄今为止尝试过的,但似乎没有任何效果:
似乎.click
并.submit
没有在 Google-Chrome 的 javascript 中定义?
奇怪的是,当我使用这个脚本时:
在 Chrome 的 javascript 控制台中,它会自动按下按钮,一切正常。但是,当我将相同的脚本放在我的 .js 文件中时,它不起作用。
我只需要知道我必须在我的 .js 中放入什么,以便在页面加载时自动按下按钮。
google-chrome-extension - 预呈现页面上的内容脚本?
内容脚本 (http://code.google.com/chrome/extensions/content_scripts.html) 是否注入到预呈现页面 (document.webkitVisibilityState== 'prerender') 中?
我一直在阅读https://developers.google.com/chrome/whitepapers/prerender和https://developers.google.com/chrome/whitepapers/pagevisibility,并试图弄清楚内容脚本如何与页面预渲染一起工作/预取。
谢谢
javascript - 浏览器扩展:如何将 javascript 代码注入页面而不会发生冲突?
我已经开始开发浏览器扩展。我注意到一个常见的概念是扩展可以将 JS 代码注入当前浏览器选项卡。
我对这不会经常引起问题感到有些困惑。
我的意思是,如果我在已经包含 JQuery 版本 y 的页面中注入版本 x 的 JQuery(通过我的浏览器扩展程序),事情怎么可能仍然有效?功能不会有冲突$()
吗?
事情怎么可能这么顺利?开发人员是否应该采用任何特定技术来确保不会发生此类冲突,或者浏览器会处理所有事情?
javascript - 如何在 Chrome 扩展中使用内容脚本文件注入 CSS?
我正在尝试从作为内容脚本注入的 JavaScript 注入我的 CSS:
我发现了关于注入 CSS 的类似问题,但是在使用来自接受的答案的代码时遇到了问题。这是我的script.js
内容:
在我加载一些页面后,此消息出现在控制台中:
拒绝加载 chrome-extension://phkgaaiaakklogbhkdnpjncedlbamani/fix.css。资源必须列在 web_accessible_resources 清单键中,才能被扩展之外的页面加载。
有没有什么办法解决这一问题?或者,也许是从那个 JavaScript 文件中注入 CSS 的其他方式?
注意:我不能直接从清单中包含样式表。