Javascript Chrome扩展内容脚本和iframe

Javascript Chrome扩展内容脚本和iframe,javascript,google-chrome-extension,Javascript,Google Chrome Extension,我正在尝试为google chrome做一个扩展,它可以实现以下功能: 加载www.example.com时运行 example.com有一个指向另一个站点的iframe,我需要从该iframe访问链接(这是rapidshare,我需要获取下载链接) 到目前为止还不错,但是 然后我需要扩展来通知example.com的链接url,以便进一步处理 有什么想法和方向吗 我已经阅读了,但无法使其工作…您需要注入2个内容脚本: "content_scripts": [ { "matc

我正在尝试为google chrome做一个扩展,它可以实现以下功能:

加载www.example.com时运行 example.com有一个指向另一个站点的iframe,我需要从该iframe访问链接(这是rapidshare,我需要获取下载链接)

到目前为止还不错,但是

然后我需要扩展来通知example.com的链接url,以便进一步处理

有什么想法和方向吗


我已经阅读了,但无法使其工作…

您需要注入2个内容脚本:

"content_scripts": [
    {
      "matches": ["http://www.example.com/*"],
      "js": ["example.js"]
    },{
      "matches": ["http://www.rapidshare.com/*"],
      "all_frames": true,
      "js": ["rapidshare.js"]
    }
]
为了将链接从一个脚本传输到另一个脚本,您需要通过后台页面进行通信:

rapidshare.js:

chrome.extension.sendRequest({url: "link"});
chrome.extension.onRequest.addListener(function(request, sender, sendResponse) {
    chrome.tabs.sendRequest(sender.tab.id, request);
    sendResponse({});
});
chrome.extension.onRequest.addListener(function(request, sender, sendResponse) {
    console.log("received url:", request.url);
    sendResponse({});
});
background.js:

chrome.extension.sendRequest({url: "link"});
chrome.extension.onRequest.addListener(function(request, sender, sendResponse) {
    chrome.tabs.sendRequest(sender.tab.id, request);
    sendResponse({});
});
chrome.extension.onRequest.addListener(function(request, sender, sendResponse) {
    console.log("received url:", request.url);
    sendResponse({});
});
example.js:

chrome.extension.sendRequest({url: "link"});
chrome.extension.onRequest.addListener(function(request, sender, sendResponse) {
    chrome.tabs.sendRequest(sender.tab.id, request);
    sendResponse({});
});
chrome.extension.onRequest.addListener(function(request, sender, sendResponse) {
    console.log("received url:", request.url);
    sendResponse({});
});

iframe是浏览器的单独文档,这就是为什么可以使用chrome扩展并将其直接集成到iframe中。您只需在chrome扩展清单文件中提及iframe的URL。我们将chrome扩展应用程序的一些菜单和工具栏集成到iFrame中。它起作用了


有一篇很好的文章作为Chrome扩展和iFrames的附加信息

谢谢你,塞格,我现在没有时间测试它,但我会告诉你它是如何运行的!非常感谢againThanks指出,可以通过matches属性将不同的脚本加载到不同的页面中!所有_帧都做什么?所有_帧都意味着-匹配适用于iframe以及顶部帧。iframe注入部分在本文中进行了说明。