[英]Loading JavaScript in a Chrome Extension
这是我的第一篇SO文章,也是我第一次制作Chrome扩展程序。 我已经阅读了很多文档,但是我仍然不确定如何使它起作用。 以下是我的html和js文件。 我希望能够在源框中键入一些内容,并在结果区域中实时打印出单词。 我已经在本地主机上测试了此代码,因此我知道它可以工作,但是由于某种原因,它起了chrome扩展的作用。
popup.html
<!doctype html>
<html>
<head>
<title>Getting Started Extension Popup</title>
<style>
body {
min-width: 357px;
overflow-x: hidden;
}
img {
margin: 5px;
border: 2px solid black;
vertical-align: middle;
width: 75px;
height: 75px;
}
</style>
<script src="popup.js"></script>
</head>
<body>
<textarea id="source"></textarea>
<div id="result">
</div>
</body>
</html>
这是js:
function main() {
document.getElementById('source').keydown(function() {
var source = document.getElementById('source').value;
var outputValue = source.replace(/command/gi, "⌘")
.replace(/tab/gi, "⇥")
.replace(/return/gi, "⏎")
.replace(/option/gi, "⌥")
.replace(/control/gi, "⌃")
.replace(/esc/gi, "⎋")
.replace(/left/gi, "←")
.replace(/down/gi, "↓")
.replace(/up/gi, "↑")
.replace(/right/gi, "→")
.replace(/shift/gi, "⇧")
.replace(/eject/gi, "⏏")
.replace(/caps\s\(lock\)/gi, "⇪")
.replace(/save/gi, "⌘ + S")
.replace(/print/gi, "⌘ + P")
.replace(/find/gi, "⌘ + F");
document.getElementById("result").innerHTML = outputValue;
}
}
1)wOxxOm在注释中所说的内容: element.keydown(function() { ... })
不存在。 这肯定来自某些jQuery代码-如果将其添加到扩展中,则可以使用它,也可以使用addEventListener
。
2)您声明一个函数main()
,但从未调用它。 调用它的一个好地方是document
上的DOMContentLoaded
事件侦听器:
document.addEventListener("DOMContentLoaded", main);
function main() {
/* ... */
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.