如何获得 Chrome 扩展来影响网页本身? (不是弹出窗口)

发布于 2024-11-26 07:30:40 字数 288 浏览 1 评论 0原文

我一直在阅读开发指南,但无法弄清楚如何将我自己的代码放入网页中,

我知道这是可能的,因为 AVG 使用它(在它的链接扫描仪中),并且 FastestChrome 扩展程序也使用它(突出显示某些内容并弹出搜索链接)。

我有一个背景页面,但我无法让它影响我继续浏览的网页(权限是正确的,因为我可以让 css 生效)

我可能错过了一些非常简单的东西:/

I have been reading the dev guide but haven't been able to work out how to put my own codes into webpages

I know it is possible because AVG uses it (in it's link scanner), and FastestChrome extension uses it too (highlight something and a link to a search pops up).

I have a backgrounded page but I can't get it to effect the webpages I go on (permissions are correct as I can get css to effect)

I am probably missing something really simple :/

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

萌化 2024-12-03 07:30:40

它在文档中没有直观地呈现,但您的后台页面无法访问当前网页,因为它们位于不同的上下文中。换句话说,后台页面是它自己的单独页面,因此它无法访问任何其他页面的 DOM。

如果您想影响用户在浏览器中查看的页面,您将需要使用所谓的“内容脚本”。

如果您想在内容脚本和后台页面之间进行通信,则需要参考消息传递API。查看我的扩展的源代码以供参考。我就是这么做的。

请记住...

背景页面:用于扩展程序中的一般逻辑,而不是特定于页面的任何内容。

内容脚本:加载到用户看到的每个页面中,并且可以操作该特定页面。

It's not intuitively presented in the documentation but your background page can not access the current webpage b/c they are in different contexts. In other words the background page is it's own separate page so it has no access to any other page's DOM.

If you want to affect the page the user is viewing in the browser you will need to use what is referred to as a "content script".

If you want to communicate between content scripts and the background page you will need to refer to the message passing API. Check out my extension's source code for reference. I do exactly that.

Just remember...

Background Page: used for general logic in your extension, not anything page specific.

Content Scripts: are loaded into every page the user sees, and can manipulate that specific page.

小情绪 2024-12-03 07:30:40

它们可能使用内容脚本将 Javascript 注入网页。这些脚本在网页上下文中运行,并且可以访问 DOM。
您可以通过在扩展清单中声明脚本文件来定义脚本始终在网页中运行,也可以在需要时使用后台页面注入脚本。

Those probably use Content Scripts to inject Javascript into webpages. These scripts run in the context of the web pages and can access the DOM.
You can either define a script to always run in a web page by declaring the script file in the extension manifest, or you can use your background page to inject a script when needed.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文