我一直在网上搜索,以了解如何访问当前标签DOM以从background.html中提取信息。到目前为止,我没有运气,或者至少我无法正常工作。
简单地陈述问题。我想在页面上获得一个iFrame的src。有什么建议吗?
答案 0 :(得分:7)
一种方法是,您将此视为对内容脚本的单次一次性请求,该脚本将获取您要访问的dom。 http://code.google.com/chrome/extensions/messaging.html#simple
基本上,您的内容脚本会设置监听器:
chrome.extension.onRequest.addListener(
function(request, sender, sendResponse) {
if (request.greeting == "hello")
sendResponse({farewell: "goodbye"});
else
sendResponse({}); // snub them.
});
您的后台页面会发送一个有效的请求:
chrome.tabs.getSelected(null, function(tab) {
chrome.tabs.sendRequest(tab.id, {greeting: "hello"}, function(response) {
console.log(response.farewell);
});
});
当您发送回复时,您将其作为JSON数据发送,您可以获取所需的任何内容(例如html,dom,text等)。
这是让背景页面了解页面内容的唯一方法。请记住,您需要内容脚本和标签权限。