基本上,我如何修改/更改扩展弹出的内容,而不是用户正在浏览的网页。
和,MAke下拉列表工作!如果选择第一个下拉列表,我有2个下拉列表,发送到服务器并检索数据,然后更新第二个。
我试过用$("body").append('tasddadasdsssdet');
但是它最终修改了web=page的html,而不是我的chrome扩展的html。
如何从第一个下拉列表中检测到更改,以便相应地更新第二个下拉列表。它似乎正常工作正常,但当涉及到铬,它将无法工作。
这是Fiddle
我已经把分机上传到https://www.mediafire.com/?3yske787di87780了
HTML
<!doctype html>
<html style="width: 270px;">
<head >
<title>BCA Auto Login</title>
<script src="jquery.js"></script>
<script type="text/javascript" src="login.js"></script>
</head>
<body>
<select id="select1">
<option value="">Select sth</option>
<option value="1">1st option</option>
<option value="2">2nd option</option>
<option value="3">3rd option</option>
</select>
<select id="select2">
<option value="">Select from select1 first</option>
</select>
</body>
</html>舱单‘
{
"manifest_version": 2,
"name": "Admin Extension",
"description": "Personal Extension",
"version": "1.0",
"permissions": [
"unlimitedStorage",
"activeTab",
"background",
"tabs",
"storage",
"webRequest",
"webNavigation"
],
"browser_action": {
"default_icon": "icon.png",
"default_popup": "popup.html"
},
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["jquery.js","login.js"]
}
]
}登录扩展
$("body").append('tasddadasdsssdet');
alert('test');
$('#select1').change(createSelect2);
$('#select2').change(selectSelect2);
function createSelect2(){
var option = $(this).find(':selected').val(),
dataString = "option="+option;
if(option != '')
{
$.ajax({
type : 'GET',
url : 'http://www.mitilini-trans.gr/demo/test.php',
data : dataString,
dataType : 'JSON',
cache: false,
success : function(data) {
var output = '<option value="">Select Sth</option>';
$.each(data.data, function(i,s){
var newOption = s;
output += '<option value="' + newOption + '">' + newOption + '</option>';
});
$('#select2').empty().append(output);
},
error: function(){
console.log("Ajax failed");
}
});
}
else
{
console.log("You have to select at least sth");
}
}
function selectSelect2(){
var option = $(this).find(':selected').val();
if(option != '')
{
alert("You selected: "+option);
}
else
{
alert("You have to select at least sth");
}
}发布于 2015-01-03 17:01:36
问题是:
"content_scripts": [
{
"matches": ["<all_urls>"],
"js": ["jquery.js","login.js"]
}
]content_script在网页上下文中运行,而不是在弹出窗口中运行。
我猜这个login.js脚本会覆盖弹出式的。
所以,如果你去掉这部分,它应该能工作。
https://stackoverflow.com/questions/27757113
复制相似问题