Chrome扩展-按钮在弹出.html
Chrome Extensions - Button in popup.html
首先,我不是专业程序员,只是玩玩而已。我试着写一个小Chrome扩展来管理其他扩展。但我已经未能创建一个按钮,我可以点击上发生的事情。我的主要问题是,当试图获得elementbyid时,它返回NULL,并且使用addEventListener失败。也许是我太傻了,看不出问题所在。我添加了DOMContentLoaded,因为有人写有一个问题与内容的加载。
谢谢你的帮助。
popup.js
var bgp = chrome.extension.getBackgroundPage()
var arr = []; // the array
document.addEventListener('DOMContentLoaded', function () {
var tbinput = document.getElementById("tbinput");
var btadd = document.getElementById("btadd");
btadd.addEventListener('click', addItems());
};
function addItems(){
arr.push(input.value); // add textbox value to array
input.value = ''; // clear textbox value
};
popup.html
<!doctype html>
<!--
This page is shown when the extension button is clicked, because the
'browser_action' field in manifest.json contains the 'default_popup' key with
value 'popup.html'.
-->
<html>
<head>
<title>Getting Started Extension's Popup</title>
<style>
</style>
<!--
- JavaScript and HTML must be in separate files: see our Content Security
- Policy documentation[1] for details and explanation.
-
- [1]: https://developer.chrome.com/extensions/contentSecurityPolicy
-->
<script src='popup.js'></script>
</head>
<body>
<input type='text' id='tbinput'>
<br>
<input type='button' id='btadd' value='Add'>
<br>
<input type='button' id='view' value='View all Contents'>
<br>
<input type='text' id='output'>
</body>
</html>
manifest.json
{
"name": "Extensions Manager",
"description": "Random",
"version": "2.0",
"permissions": [
"management"
],
"background": {
"scripts": ["background.js"],
"persistent": false
},
"browser_action": {
"default_title": "Extensions Manager",
"default_popup":"popup.html"
},
"manifest_version": 2
}
您正在触发addItems
函数,而不是将其传递给addEventListener
方法。
btadd.addEventListener('click', addItems()); // addItems() should be addItems
另一个问题是你的DOMContentLoaded
监听器,它没有正确关闭:
}; // This should be });
var arr = []; // the array
var tbinput;
document.addEventListener('DOMContentLoaded', function() {
tbinput = document.getElementById("tbinput");
document.getElementById("btadd").addEventListener('click', addItems);
});
function addItems() {
arr.push(tbinput.value); // add textbox value to array
tbinput.value = ''; // clear textbox value
};
<input type='text' id='tbinput'>
<br>
<input type='button' id='btadd' value='Add'>
<br>
<input type='button' id='view' value='View all Contents'>
<br>
<input type='text' id='output'>
相关文章:
- 我的HTML按钮没有在Javascript中运行
- 将插件制作的Javascript包含到html按钮中
- 变量不递增如何I'我喜欢html按钮点击的时候
- 如何通过单击html按钮获得h1的文本值
- HTML 按钮点击函数无法使用 jQuery 变量作为参数
- 按下一个HTML按钮,该按钮使用一个功能在同一个新窗口中打开URL
- Html按钮点击事件未触发单选按钮
- 使用带HTML按钮的Knockout
- HTML按钮刷新页面而不是将数据发送到数据库
- 动态生成的html按钮无法加载页面
- 为什么不'这个HTML按钮不起作用
- HTML按钮在单击时表现得很奇怪
- HTML按钮获胜't更改JS变量
- 如何在HTML按钮中有一个静态onclick参数
- 自动点击html按钮
- 按时间启用HTML按钮
- 更改HTML按钮值的颜色,其中值来自调用Javascript的onclick
- 如何最好地编写重叠的 html 按钮
- HTML按钮的作用类似于从键盘按下的键,并在某些对象或整个网站上起作用
- HTML 按钮在 Javascript 的文本字段中添加数字