0
フォローアップthis。私はほとんどそこにいる。しかし、1つの問題があります。 オプションページでサイトを入力して[保存]ボタンをクリックすると、コンテキストメニュー項目は更新されません。 新しいものと交換するために、私は拡張をリロードする必要があります! どうすれば修正できますか?おそらく私はExtension APIメソッドを削除または更新する必要がありますか?どうやって??今クロムエクステンションIIの選択とサイト検索
私のコード:
manifest.jsonを:
{
"name": "Context Site Search",
"version" : "0.0.0.1",
"background_page" : "bg.html",
"options_page": "options.html",
"permissions" : [
"tabs",
"contextMenus",
"http://www.google.com"
]
}
options.html
function save() { // save button click event handler
var nodes = document.querySelectorAll("input[type=text]");
for (var i=0; i<nodes.length; i++){
if (nodes[i].value == ""){
alert('Enter Data!');return false;
} else {
arr.push(nodes[i].value);
}}
localStorage['arr'] = JSON.stringify(arr);
if (localStorage["arr"]){
var elem = document.getElementById("sav").textContent = "Saved!";
}
}
background.html:事前に
<script type="text/javascript">
var ar = JSON.parse(localStorage.getItem("arr"));
for (var i in ar) {
chrome.contextMenus.create({
"title": "find ' %s' в "+ ar[i],
"contexts": [ "selection"],
"onclick" : (function(element){
return function(info, tab) {
var baseUrl = "http://www.google.com/search?q=site%3A";
if (info.selectionText) {
baseUrl += element + "&q="+ encodeURI(info.selectionText);
chrome.tabs.create({"url": baseUrl});
}
}
})(ar[i])
});
}
</script>
感謝!!
これで、再作成する前に 'chrome.contextMenus.removeAll'を試しましたか? – serg