从网页读取 Google Chrome 变量

发布于 2024-12-28 00:49:41 字数 301 浏览 0 评论 0原文

我需要能够从任何网页读取 google chrome 扩展上设置的变量。

例如,在 Firefox 扩展上,我这样做:

XPCNativeWrapper.unwrap(contentWindow).myExtensionName_varName = "value";

然后在任何网页上,如果我执行 alert(myExtensionName_varName); 我会得到正确的值。

如何在 Chrome 扩展上实现同样的效果?

I need to be able to read a variable set on a google chrome extension from any web page.

For example on a firefox extension I am doing this :

XPCNativeWrapper.unwrap(contentWindow).myExtensionName_varName = "value";

Then on any web page if I do alert(myExtensionName_varName); I get the correct value.

How could I achieve the same thing on a chrome extension?

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

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

发布评论

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

评论(1

好菇凉咱不稀罕他 2025-01-04 00:49:41

为了安全起见并避免冲突,Chrome 中的所有内容都经过沙箱处理,因此您无法从扩展程序直接访问网站脚本创建的任何变量。

内容脚本在称为隔离世界的特殊环境中执行。它们可以访问所注入页面的 DOM,但不能访问该页面创建的任何 JavaScript 变量或函数。它看起来每个内容脚本都好像没有其他 JavaScript 在其运行的页面上执行。反之亦然:页面上运行的 JavaScript 无法调用任何函数或访问内容脚本定义的任何变量。
[来源]

请在此处 了解如何在网页上的脚本和扩展内容脚本之间进行通信。

Everything in Chrome is sandboxed for security and to avoid conflicts, so you don't have direct access from extension to any variable created by website scripts.

Content scripts execute in a special environment called an isolated world. They have access to the DOM of the page they are injected into, but not to any JavaScript variables or functions created by the page. It looks to each content script as if there is no other JavaScript executing on the page it is running on. The same is true in reverse: JavaScript running on the page cannot call any functions or access any variables defined by content scripts.
[source]

Check out 'Communication with the embedding page' section here to learn how to communicate between scripts on webpages and extension content scripts.

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