我正在撰写Google Chrome扩展程序。它有两个textareas和一个按钮。单击按钮后,它将从第一个文本区域获取代码,对其执行某些逻辑然后过去并在第二个文本区域中显示输出。我在浏览器中打开.html文件时工作正常,但是当我想将它用作扩展时它不起作用,当我点击按钮时没有任何反应。我认为它与权限有关,我已经说过:“contextMenus”,
“clipboardRead”
我的清单文件上的“clipboardWrite”权限但它仍然无效。
如果有人可以帮助我,我将不胜感激
感谢
编辑:代码
manifest.json :
{
"name": "MissLang Fix extension",
"manifest_version": 2,
"version": "1.0",
"description": "fixing english to farsi typings.",
"icons":{
"128":"icon_128.png"
},
"browser_action": {
"default_icon": "icon.png",
"default_popup": "missLangFix.html"
},
"permissions": [
"contextMenus",
"clipboardRead",
"clipboardWrite"
]
}
missLangFix.html :
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="style.css"/>
<script src="script.js"></script>
<title>MissLang Fix</title>
</head>
<body>
<center>
<div id="test"></div>
<textarea class="txtarea" id="input" rows="4" cols="50"></textarea>
<!--<div class="myBtn" onClick="myClick()">
<b style="line-height:30px">fix</b>
</div>-->
<br/>
<input type="button" value="fix" onclick="myClick()" />
<br/>
<textarea class="txtarea2" id="output" rows="4" cols="50" readonly="readonly"></textarea>
</center>
</body>
</html>
script.js :
window.onload = myOnload();
function myOnload(){
var myString = document.getElementById("txtarea").innerHTML = "";
}
function myClick(){
var myString = document.getElementById("input").value;
for(var i=0;i<myString.length;i++){
myString = myString.replace("q","ض");
myString = myString.replace("w","ص");
myString = myString.replace("e","ث");
}
//document.getElementById("txtarea").value = myString;
document.getElementById("output").innerHTML = myString;
}
答案 0 :(得分:1)
好的,问题是按钮上的内联onClick
处理程序。只需将其移至script.js onLoad
处理程序,它就应该开始工作了。首先在按钮上添加id
以简化此操作。
<input id="button" type="button" value="fix" />
接下来,获取该按钮并添加onclick
function myOnload(){
var myString = document.getElementById("txtarea").innerHTML = "";
var button = document.getElementById("button");
button.onclick= function(){myClick()};
}
...
这是一个小提琴:http://jsfiddle.net/x2w2p/1/