前提・実現したいこと
Chrome拡張機能で、OptionUIで設定したユーザーネームをBrowserActionのページに渡したいです。
OptionUIの中のoption.jsで、ユーザーネームを設定しています。そのユーザーネームをbrowserActionのjavascriptに渡したいのですが、うまくいきません。
いろいろなサイトの情報は、ContentScriptを使っていることを前提にしていますが、BrowserActionとOptionUIしか使ってないので、サイトの情報が使えるのかも分かりません。
javascript
1//option.js 2 3window.onload = function(){ 4 if(save.addEventListener){ 5 save.addEventListener("click",savefun, false); //saveとloadはoption.htmlのタグ 6 load.addEventListener("click", loadfun, false); 7 } 8} 9 10 11function savefun(){ 12 var getter = document.getElementById("print").value; //printはoption.htmlのタグ 13 var items = {'value' : getter}; 14 15 chrome.storage.local.set(items, function(){ 16 17 if (chrome.extension.lastError !== undefined){ 18 sec.ineerHTML = "NO"; 19 } 20 }); 21} 22
javascript
1//browser.js 2 3var sector = document.getElementById("tr"); //borwser.htmlのタグを取得 4console.log("ppppp"); 5 6window.onload= function(){ 7 if(clicker.addEventListener){ 8 clicker.addEventListener("click", loader, false); //clickerはbrowser.htmlのタグ 9 } 10} 11 12function loader(){ 13 console.log("pl"); 14 var keys = ['value']; 15 16 chrome.storage.local.get(keys, function(items){ 17 18 if(chrome.extension.lastError !== undefined){ 19 sector.innerHTML = "BAD"; 20 } 21 22 else{ 23 sector.innerHTML = items.value; 24 } 25 26 }); 27 28}
試したこと
MessagePassingやLocalStorageにユーザーネームを保存して、そこから引き出すことを試してみました。
https://easyramble.com/chrome-extension-message-passing.html
https://developer.chrome.com/extensions/messaging
http://sdaigo.hatenablog.com/entry/20100107/1262828127
補足情報(FW/ツールのバージョンなど)
Chrome拡張機能のversionは2.0です。
OptionUI
https://developer.chrome.com/extensions/optionsV2
BroswerAction
https://developer.chrome.com/extensions/browserAction
質問文にうまくいかない部分のコードを記述してくださいな。Chrome拡張の場合、LocalStorageはSandbox環境になるため使えないので、非同期操作になりますが、chrome storage APIが使えるかと。
回答1件
あなたの回答
tips
プレビュー