我正在编写Chrome扩展程序,以允许用户从单个页面登录社交媒体网站。我能够创建一个新的隐身窗口,但无法操纵我创建的窗口内的任何内容。我想为新窗口创建一个onload函数来执行jquery。谢谢你让我指出了正确的方向!
答案 0 :(得分:6)
请参阅以下演示文稿,以处理创建的新隐身window并向其中注入一些jquery。
References
manifest file
这用于绑定权限并将后台页面注册到extension.Ensure它具有所需的所有权限。
{
"name":"Hanlder for Incognito window",
"description":"http://stackoverflow.com/questions/14044338",
"version":"1",
"manifest_version":2,
"background":{
"scripts":["background.js"]
},
"permissions":["tabs","http://www.google.co.in/"]
}
background.js
从背景页面将jquery注入新的隐身窗口。
var _tabId_To_Look_For;
// Create a new incognito Window with some arbitary URL and give it focus
chrome.windows.create({
"url": "http://www.google.co.in/",
"focused": true,
"incognito": true
}, function (window) {
// Trace tab id which is created with this query
_tabId_To_Look_For = window.tabs[0].id
});
// Add an event Listener for new tab created
chrome.tabs.onUpdated.addListener(function (tabId, changeInfo, tab) {
// Inject script into chosen tab after it is loaded completely
if (tabId == _tabId_To_Look_For && changeInfo.status == "complete") {
// Inject Jquery and in current tab
chrome.tabs.executeScript(tabId, {
"file": "jquery.js"
}, function () {
// I am in call back
console.log("Injected some jquery ");
});
}
});
确保您已启用隐身访问权限。
Output
您将观察一个注入了jquery的新窗口。