簡體   English   中英

如何使用Chrome擴展程序在活動標簽上獲取和設置值

[英]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文件上。 如何在活動標簽上進行操作?

請幫忙。 提前致謝。

使用chrome.tabs.executeScript

注意:如果僅在單擊彈出窗口中的內容之后才執行DOM修改,則使用“ activeTab”權限,因為您不需要顯示的過於激進的權限"http://*/*""https://*/*"警告“您的擴展程序可以修改用戶訪問的網站上的數據”。

也可以看看:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM