Google chrome extension 格式化javascript表单评估的消息
我一直在尝试为Safari Firefox和Chrome开发一个简单的扩展,在弹出窗口中向用户显示一个表单,在填写表单后,对其进行本地评估,并在评估中定义对用户的响应。 原始表格可在以下网址找到: 我已经能够创建一个工作safari扩展,可以在这里下载: 但是当我尝试创建chrome扩展时,我的问题就开始了 我按照教程创建了第一个扩展,并且能够创建一个按钮并将表单作为弹出窗口加载。但是,安全限制不允许运行我的表单。通过阅读《开发人员指南》,我了解到我需要的是在自己的文件中分离javascript,并从弹出文件中调用它。然而,文档的语言对我(医学院学生)来说太专业了,我无法理解应该使用的消息格式的正确方式。以下是我的代码的当前状态: popup.htmlGoogle chrome extension 格式化javascript表单评估的消息,google-chrome-extension,Google Chrome Extension,我一直在尝试为Safari Firefox和Chrome开发一个简单的扩展,在弹出窗口中向用户显示一个表单,在填写表单后,对其进行本地评估,并在评估中定义对用户的响应。 原始表格可在以下网址找到: 我已经能够创建一个工作safari扩展,可以在这里下载: 但是当我尝试创建chrome扩展时,我的问题就开始了 我按照教程创建了第一个扩展,并且能够创建一个按钮并将表单作为弹出窗口加载。但是,安全限制不允许运行我的表单。通过阅读《开发人员指南》,我了解到我需要的是在自己的文件中分离javascript
<head>
<script type="text/javascript" src="popup.js"></script>
</head>
<body>
<h1>Calculadora de Tipo de Camino</h1>
<form id="Calle" target="_self">
Cruceros <select id="cruceros">
<option value=1>Glorietas</option>
<option value=1>Rotondas</option>
<option value=1>Semáforos</option>
<option value=0 selected>Sin Control</option>
<option value=2>Sin Cruceros</option>
</select></br>
Carriles <select id="carriles">
<option value=1 selected>1</option>
<option value=2>2</option>
<option value=3>3 o más</option>
</select></br>
Sentidos Separados físicamente o parte de par vial <input type="checkbox" id="sentidos"></br>
Con Laterales o Acotamiento <input type="checkbox" id="laterales"></br>
Entradas y Salidas delimitadas <input type="checkbox" id="ramps"></br>
Avenida, Boulevard, o Circuito <input type="checkbox" id="name"></br>
Es Carretera
<select id="carretera">
<option value=0 selected>No</option>
<option value=1>Municipal</option>
<option value=2>Estatal</option>
<option value=3>Federal</option>
</select> Revisar en: <a href="http://petra.sdg.mx/sigcsi/" target="_blank">SCT</a></br>
Tiene topes <input type="checkbox" id="topes"></br>
</br>
</form>
<button type="button" onclick="textR()">Calcular Puntos</button>
<hr><p id="resultn"></p>
<p id="resultt"></p>
</body>
卡米诺蒂波加尔各拉多拉酒店
克鲁塞罗斯
格洛丽塔斯
罗通达斯
Semáforos
罪恶控制
辛克鲁塞罗斯酒店
卡里莱斯
1.
2.
3 o m&A剖面图
SeldDOS分离器F & IACUTICESICAME
阿科塔米恩托酒店
夹带
奥卢西奥大道大道大道
卡雷特拉酒店
不
市政的
地产
联邦的
修订:
蒂恩托普斯酒店
结石性穿孔
popup.js
function textR()
{var cru=document.getElementById("cruceros").value;
if (cru==0){crun=0}
else if (cru==1){crun=1}
else{crun=2}
var carr=document.getElementById("carriles").value;
if (carr==1){carrn=0}
else if (carr==2){carrn=1}
else{carrn=2}
sen=(document.getElementById("sentidos").checked==true)?1:0;
lat=(document.getElementById("laterales").checked==true)?1:0;
ram=(document.getElementById("ramps").checked==true)?1:0;
av=(document.getElementById("name").checked==true)?1:0;
var hw=document.getElementById("carretera").value;
if (hw==1){hwn=1}
else if (hw==2){hwn=2}
else if (hw==3){hwn=3}
else{hwn=0}
saluden=(document.getElementById("topes").checked==true)?1:0;
var r=crun+carrn+sen+lat+ram+av+hwn+saluden;
document.getElementById("resultn").innerHTML=(r+" puntos");
if (r<2){rt='Street'}
else if (r<4){rt='<span class="pstreet">Primary Street'}
else if (r<7){rt='<span class="mihw"> Minor Highway '}
else if (r<9){rt='<span class="mahw"> Major Highway '}
else {rt='<span class="fw"> Freeway '}
document.getElementById("resultt").innerHTML=(rt);
}
函数textR()
{var cru=document.getElementById(“cruceros”).value;
如果(cru==0){crun=0}
如果(cru==1){crun=1}
else{crun=2}
var carr=document.getElementById(“carriles”).value;
如果(carr==1){carrn=0}
如果(carr==2){carrn=1}
else{carrn=2}
sen=(document.getElementById(“sentidos”).checked==true)?1:0;
lat=(document.getElementById(“laterales”).checked==true)?1:0;
ram=(document.getElementById(“ramps”).checked==true)?1:0;
av=(document.getElementById(“name”).checked==true)?1:0;
var hw=document.getElementById(“carretera”).value;
如果(hw==1){hwn=1}
如果(hw==2){hwn=2}
如果(hw==3){hwn=3}
else{hwn=0}
saluden=(document.getElementById(“topes”).checked==true)?1:0;
var r=crun+CARN+sen+lat+ram+av+hwn+saluden;
document.getElementById(“resultn”).innerHTML=(r+“puntos”);
if(r消除内联代码onclick=“textR()”
并将其添加到popup.js中,如下所示
document.getElementsByTagName("button")[0].addEventListener("click",textR);
最后,我把document.getElementById(“calcButton”).addEventListener(“click”,textR);
放在popup.js的末尾,不得不将
移到popup.html的末尾
我发现这篇文章很有用:实际上我不得不改用getElementById,因为“ByTagName”产生了一些其他错误,我还必须对代码做更多的更改。