我可以从另一个脚本中获取变量的值吗

Can I get the value of a variable from another script?

本文关键字:变量 获取 另一个 脚本 我可以      更新时间:2023-09-26

我可以使用内容脚本从另一个脚本中获取变量的值吗?例如Facebook上的一个脚本。对不起我的英语。

您的内容脚本可以将<script>元素注入页面。注入的脚本应该读取该值,并使用DOM事件将该值传递给内容脚本。

内容脚本中:

// inject a script from the extension's files
// into the execution environment of the main page
var s = document.createElement('script');
s.src = chrome.extension.getURL("value _reader.js");
document.documentElement.appendChild(s);
document.addEventListener("valueFromPageEvent", function(event) {
    console.log("the content script just got the value " + event.detail.val);
});

value_reader.js(我们在上面的内容脚本中注入了它)内部,假设我们想从页面读取变量foobar

var dataObj = { "val": foobar };
var storeEvent = new CustomEvent('valueFromPageEvent', { "detail": dataObj });
document.dispatchEvent(storeEvent);

注意:value_reader.js脚本必须在清单中扩展的web_accessible_resources列表中。