ユーザーが単一のページからソーシャルメディアサイトにログインできるようにするChrome拡張機能を作成しています。新しいシークレットウィンドウを作成することはできますが、作成したウィンドウ内で何も操作できません。新しいウィンドウでjqueryを実行するためのonload関数を作成したいと思います。私を正しい方向に向けさせてくれてありがとう!
質問する
1425 次
1 に答える
6
作成された新しいシークレットウィンドウの操作とそれにjqueryを挿入する方法については、次のデモを参照してください。
References
- Windows API
- タブAPI
- 背景ページ
- コンテンツスクリプト
- マニフェストファイル。
manifest file
これは、権限をバインドし、バックグラウンドページを拡張機能に登録するために使用されます。必要なすべての権限があることを確認してください。
{
"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が挿入された新しいウィンドウが表示されます。
于 2012-12-27T05:40:30.213 に答える