我最近开始学习 chrome ext。我遇到了这个问题。基本上我只是想将一个字符串转换为相应的数字。例如 a=1、b=2、c=3... 等等。因此,如果我尝试使用 html 表单来获取输入字符串,然后在提交按钮上使用 onclick,我希望我的 javascript 文件将字符串转换为数字并在同一个输入文本框中打印出值。
这是我当前的代码,如果我使用提示符获取输入,它工作正常。我的问题是如何调用 onclick,因为清单版本 2 限制了内联 js。
显现
{
"name": "String converter",
"version": "1.0",
"manifest_version": 2,
"description": "Convert string to number",
"browser_action": {
"default_icon": "icon.ico",
"default_popup": "popup.html"
}
}
弹出.html:
<!doctype html>
<html>
<head>
<title>Convert string</title>
<style>
body {
min-width:160px;
overflow-x:hidden;
}
</style>
<script src="popup.js"></script>
</head>
<body>
<input type="text" id="result" />
<!--I need the button here-->
</body>
</html>
popup.js(我只是从教程中复制并粘贴并修改它)
var req = new XMLHttpRequest();
req.open(
"GET",
"http://api.flickr.com/services/rest/?" +
"method=flickr.photos.search&" +
"api_key=90485e931f687a9b9c2a66bf58a3861a&" +
"text=hello%20world&" +
"safe_search=1&" + // 1 is "safe"
"content_type=1&" + // 1 is "photos only"
"sort=relevance&" + // another good one is "interestingness-desc"
"per_page=20",
true);
req.onload = test;
req.send(null);
function test(){
var s=prompt("enter string");
var result ="";
for(var i =0; i<3; i++){
if(s.charAt(i) == "a"){
result += "1"
}
else if(s.charAt(i) == "b"){
result += "2"
}
else if(s.charAt(i) == "c"){
result += "3"
}
document.getElementById("result").value = result;
}
谢谢!