我认为我已经将自己与过度复杂的chrome扩展混淆了,无法找到解决方案。
以下是扩展应该做的事情:
除了最后一个之外,每个点都可以正常工作。
所以我的问题是:我应该如何/在哪里检查select的.change()事件
的manifest.json
{
"manifest_version": 2,
"name": "Example extension",
"version": "4.20",
"background": {
"scripts": ["background.js", "jquery-2.1.1.min.js"],
"persistent": false
},
"content_scripts": [
{
"matches" : ["*://www.example.com/*"],
"js" : ["jquery-2.1.1.min.js", "content.js", "mustache.min.js"]
}],
"page_action":{
"default_icon":{
"19" : "images/icon19.png",
"38" : "images/icon38.png"
}
},
"web_accessible_resources": [
"to_be_injected.mustache.html"
],
"permissions": [
"http://www.example.com/*",
"declarativeContent"
]
}
to_be_rendered.mustache.html
<script id="to_be_rendered">
<select name="example-select" id="example-select">
{{#options}}<option value='{{.}}'>{{.}}</option>{{/options}}
</select>
</script>
content.js
chrome.runtime.sendMessage({type: "init"}, function(response_data) {
injectHtml(response_data);
});
function injectHtml(response_data){
$.get(chrome.extension.getURL('/to_be_rendered.mustache.html'),{})
.done(function(template) {
var rendered_template = Mustache.render($(template).filter('#to_be_rendered').html(), response_data);
$("#container").append(rendered_template);
});
}
编辑:语法