2012-02-03 68 views
1

所以,我有一個Chrome擴展,可以爲網站做各種事情。 我想要做的是重寫它,使其更清潔和更相關,所以我開始了。我有什麼內容腳本,它是'infuse.js',它將另一個文件t3.js注入到網站中。如何在Chrome擴展程序/網站中的文件之間發送數據?

我的問題是 - 有沒有辦法將數據從localStorage傳遞到t3.js?

我有sendRequest和響應設置,所以infuse.js可以讀取存儲,但是,如果我嘗試從t3.js執行sendRequest,它顯然會因未定義而出現,因爲它不是內容腳本,因此無法訪問API。

讓我知道你是否知道任何事情。

回答

2

有一些關於這方面的文檔.... http://code.google.com/chrome/extensions/content_scripts.html#host-page-communication

另外,如果你想傳遞的東西,只有當其注射一次t3.js,那麼你可以注入一些JS,設置一些值,在注入t3.js之前

settings={1:"something'set'",2:["blek",1,2,3]}; //Youd get these from localStorage or something 

head = document.getElementsByTagName('head')[0], 
script = document.createElement('script'); 

script[script.innerText ? 'innerText' : 'textContent'] = 'var settings=' + JSON.stringify(settings)+ ';'; 

head.appendChild(script); 

//Then inject t3.js 
+0

對不起,我忘記了我曾經問過這個,而那正是我設法想出來的。我不記得我是否找到它,或者自己寫了,但感謝您的快速回答! – 2012-06-19 05:43:52

相關問題