我希望你能帮助我:)
我创建了一个Chrome扩展程序(我的第一个扩展程序),并且我在使用<select>
自动填充<option>
时遇到了一些问题。
default_popup页面是index.htm。我有两个<select>
(列表框?不能记住名称)框。当用户首次单击该扩展时,它会对php脚本执行XMLHttpRequest,并获取MySQL数据库中的名称列表。它以下列形式返回(onLoad)列表:
<option>
{嗒嗒{1}}
当用户从第一个列表框/选择中选择一个选项时,它会执行另一个XMLHttpRequest并自动填充第二个列表框/选择。然后,当用户从第二个列表框中选择一个选项时,最终将在页面下方填充一些详细信息。
我一直在测试只是运行index.htm文件并查看代码是否正常工作,它确实如此。但是,当尝试从扩展程序中查看它时,它不起作用。 onLoad没有填写第一个列表框,并且从第一个列表框中选择一个选项(我在框中输入的用于测试的选项)不会填充第二个列表框。
我想也许是权限错误,所以我尝试将域添加到manifest.json文件中;但是在执行此操作之后,我似乎在manifest.json文件中收到错误。
在我的default_popup(index.htm)文件中,我有这个XMLHttpRequest脚本:
</option>
这是我的manifest.json文件的样子:
<script type="text/javascript">
function getClient(str,type)
{
if (str=="")
{
document.getElementById(type).innerHTML="";
return;
}
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
document.getElementById(type).innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","http://(domain removed)/Extension/getInfo.php?q="+type+"&c="+str,true,"user","pass");
xmlhttp.send();
}
</script>
我这样做是否正确?扩展的要点是能够快速查看客户端详细信息。该扩展仅在本地员工的.crx文件中提供,而不是在线分发。我通过PHP / MySQL访问的域可以从Web访问,但我目前在我的mysql_connect字符串中使用localhost。我是否需要返回编码为JSON的{
"name": "Client Center Lite",
"version": "1.0",
"description": "blah",
"browser_action": {
"default_icon": "images/icon_19.png",
"default_popup": "index.htm",
"default_title": "Client Center Lite"
},
"icons":{
"128":"images/icon_128.png"
}
"permissions": {
"http://(domain removed)/"
},
}
元素?如果是这样的话,那我就完全没有线索了。
答案 0 :(得分:0)
使用方括号:
"permissions": [
"http://(domain removed)/"
],