Javascript 活动选项卡';s源代码-获取一个变量-s值

Javascript 活动选项卡';s源代码-获取一个变量-s值,javascript,google-chrome-extension,Javascript,Google Chrome Extension,我已经编写了一个Hello World示例扩展。现在我正试图编写一个Chrome扩展来获取某个JavaScript变量的值,如果它被声明的话 所以我们假设有一个 var test = 'a'; 在源代码中。我想得到一个值 更新:我无法访问“原始”网站的代码,但我知道该变量始终存在,并且具有一定的值,总是不同的 警报就行了。(我可以从分机页面发出警报吗?) 我看到有“许可”和“标签”之类的东西,我不确定我可能遗漏了什么 我试着搜索,发现了一些类似的东西,但当我点击链接时,这个例子什么也做不了。如

我已经编写了一个Hello World示例扩展。现在我正试图编写一个Chrome扩展来获取某个JavaScript变量的值,如果它被声明的话

所以我们假设有一个

var test = 'a';
在源代码中。我想得到一个

更新:我无法访问“原始”网站的代码,但我知道该变量始终存在,并且具有一定的值,总是不同的

警报就行了。(我可以从分机页面发出警报吗?)

我看到有“许可”和“标签”之类的东西,我不确定我可能遗漏了什么


我试着搜索,发现了一些类似的东西,但当我点击链接时,这个例子什么也做不了。

如果你能控制这个页面,你可以把这个值放到页面上一个隐藏的HTML元素中,然后你的扩展可以用一个内容脚本提取出来

在网站上:

var test a = 'a';
document.documentElement.dataset["a"] = a;
在扩展的内容脚本中:

var a = document.documentElement.dataset["a"];

只需确保内容脚本在页面上的脚本之后执行(例如,通过在清单中添加
“run\u at”:“document\u end”

如果您可以控制该页面,则可以将该值放入页面上的隐藏HTML元素中,然后扩展可以使用内容脚本提取该元素

在网站上:

var test a = 'a';
document.documentElement.dataset["a"] = a;
在扩展的内容脚本中:

var a = document.documentElement.dataset["a"];

只需确保内容脚本在页面上的脚本之后执行(例如,通过在清单中添加
“run\u at”:“document\u end”

从内容脚本中,您无法访问页面上声明的变量

摘自:

内容脚本在称为隔离世界的特殊环境中执行。它们可以访问所注入页面的DOM,但不能访问页面创建的任何JavaScript变量或函数


我看到的唯一方法是在后台页面中通过加载脚本源代码并对其进行解析。如果要将结果发送到内容脚本,则可以使用。请注意,如果后续脚本更改了变量的值,此解决方案将不起作用。

通过内容脚本,您无法访问页面上声明的变量

摘自:

内容脚本在称为隔离世界的特殊环境中执行。它们可以访问所注入页面的DOM,但不能访问页面创建的任何JavaScript变量或函数


我看到的唯一方法是在后台页面中通过加载脚本源代码并对其进行解析。如果要将结果发送到内容脚本,则可以使用。请注意,如果后续脚本更改了变量的值,此解决方案将不起作用。

我无法控制“原始”值。您可以查看页面代码,查看变量是否添加到元素中,并检查该元素的值。然而,这是一个巨大的解决方案,需要以这种方式编写代码。因此,如果你想将其应用于“未知”网站(意思是:没有你知道并且可以测试的特定网页集),这也不会起作用。我无法控制“原始”页面,你可以查看页面的代码,查看变量是否添加到元素中,并检查该元素的值。然而,这是一个巨大的解决方案,需要以这种方式编写代码。所以,如果你想把它应用到“未知”的网站(意思是:没有你知道并且可以测试的特定网页集),这也不会起作用。