【发布时间】:2015-02-22 12:28:21
【问题描述】:
我想创建一个基于扩展弹出窗口的 Chrome 扩展。弹出窗口包含两个按钮。单击按钮应将地址数据粘贴到网站上的文本框中。不幸的是,我无法填充相应的文本框,可能是因为无法通过扩展弹出窗口访问网站上的文本框。
我读到了一个可能会有所帮助的 contentscript.js - 由于我在 JavaScript 和 Chrome 扩展方面经验不足,因此我无法了解如何在扩展中实现 contentscript.js。感谢任何帮助我找到解决问题的方法。
manifest.json:
{
"manifest_version": 2,
"name": "Paste Address",
"version": "2.0",
"author": "STM",
"description": "Paste Address",
"permissions": ["tabs"],
"icons": {"16": "btn_edit.png", "48": "btn_edit.png", "128": "btn_edit.png"},
"browser_action": {"default_icon": "btn_edit.png", "default_popup": "popup.html"}
}
popup.html
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" type="text/css" href="styles/options_popup.css" />
</head>
<body>
<section>
<button id="address1">Address1</button>
</section>
<section>
<button id="address2">Address2</button>
</section>
<script src="scripts/popup.js"></script>
</body>
</html>
popup.js
function address1() {
alert("address1");
document.forms["ModalBoxAddress_form"].elements["firstname"].value = "firstname1";
document.forms["ModalBoxAddress_form"].elements["lastname"].value = "lastname1";
document.forms["ModalBoxAddress_form"].elements["street"].value = "street1";
}
function address2() {
alert("address2");
document.forms["ModalBoxAddress_form"].elements["firstname"].value = "firstname2";
document.forms["ModalBoxAddress_form"].elements["lastname"].value = "lastname2";
document.forms["ModalBoxAddress_form"].elements["street"].value = "street2";
}
button_click = document.querySelector('#address1').addEventListener('click',function() {address1();}, false);
button_click = document.querySelector('#address2').addEventListener('click',function() {address2();}, false);
【问题讨论】:
标签: javascript google-chrome google-chrome-extension