10
我一直在网上搜索,以了解如何访问当前选项卡DOM以从background.html中提取页面中的信息。到目前为止,我没有运气,或者至少没有什么能够正常工作。谷歌浏览器扩展程序 - 访问DOM
简单说明问题。我想在页面上获得一个iFrame的src。有什么建议么?
我一直在网上搜索,以了解如何访问当前选项卡DOM以从background.html中提取页面中的信息。到目前为止,我没有运气,或者至少没有什么能够正常工作。谷歌浏览器扩展程序 - 访问DOM
简单说明问题。我想在页面上获得一个iFrame的src。有什么建议么?
一种方式,你把它当作一个单一的请求来处理内容脚本,它将获取你想要访问的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,文本等)。
这是目前让背景页面知道任何关于页面内容的唯一方法。请记住,您需要内容脚本和选项卡权限。
请注意,这个答案已过时。 'SendRequest'和'getSelected'已弃用。提供的脚本不起作用。 – sbichenko 2012-10-04 07:26:10
aaaand应该被替换为Chrome 20 – 2013-05-01 16:21:34
aaaaa中的sendMessage/onMessage,一个例子会非常出色。 :-) – Ajax 2015-12-15 12:47:22