繁体   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