[英]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.