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