[英]How to get and set value on active tab using Chrome Extension
我正在开发简单的扩展程序,但是我有一个问题:(
我想通过getElementByID获取现有字段的值,并为该字段键入预定义的值。
所以我创建了manfiest.json文件:
{
"manifest_version":2,
"name": "browser_action",
"version": "0.1.0",
"author": "author",
"browser_action":
{
"default_title": "Use this",
"default_popup":"popup/popup.html"
},
"permissions": [
"http://*/*",
"https://*/*" ],
"background":{
"scripts": ["background.js"],
"persistent":false
}}
然后popup.html
<html>
<head>
<title>Test</title>
<script language='javascript' src='popup.js'></script>
</head>
<body>
<form name='testForm'>
<input type='button' id='alertButton' value='click me'>
</form>
<input type='button' id='setButton' value='Set data'>
</body></html>
我有background.js这是空文件。 和popup.js看起来像:
function myAlert(){
alert('hello world');
}
document.addEventListener('DOMContentLoaded', function () {
document.getElementById('alertButton').addEventListener('click', myAlert);
});
function setData(){
document.getElementById("id1").value='New value';
}
document.addEventListener('DOMContentLoaded', function () {
document.getElementById('setButton').addEventListener('click', setData);
});
当我单击第一个按钮时,可以看到警报,当我尝试将值设置为活动选项卡上的字段时,什么也没有发生。 但是,如果我将元素添加到名称为id1的popup.htm文件中,则该值将更改。
看起来好像是在popup.html文件上。 如何在活动标签上进行操作?
请帮忙。 提前致谢。
注意:如果仅在单击弹出窗口中的内容之后才执行DOM修改,则使用“ activeTab”权限,因为您不需要显示的过于激进的权限"http://*/*"
和"https://*/*"
警告“您的扩展程序可以修改用户访问的网站上的数据”。
也可以看看:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.