谷歌插件开发1
侧边栏壁纸
  • 累计撰写 12 篇文章
  • 累计收到 0 条评论

谷歌插件开发1

liangzai
2023-08-10 / 0 评论 / 8 阅读 / 正在检测是否收录...

谷歌插件功能:切换不同颜色的谷歌浏览器当前页的背景颜色
第一步:创建一个名为chrome的文件夹。

第二步:在创建的文件夹下创建manifest.json、popup.html、popup.js。

第三步:在manifest.json中写入以下代码

{
    “manifest_version”: 3,//开发版本
    “name”: “My Popup Extension”,//插件名称
 
    “version”: “1.0”,//插件版本
    “action”: {
      “default_popup”: “popup.html”//默认浏览器按钮页面
    },
    //权限设置
    “permissions”: [
      “activeTab”,//浏览器当前页
      “tabs”,//所有页
      “scripting”//可以通过 JavaScript 代码与网页进行交互、修改页面内容和行为
    ]
  }

第四步:在popup.html中写入以下代码(html布局以及js引入),popup.html是浏览器按钮插件的弹框一般在右上角展示。

<!–
 * @Author: liangzai
 * @Date: 2023-06-07 16:27:25
 * @LastEditTime: 2023-06-25 13:57:10
 * @LastEditors: liangzai
 * @Description: 页面布局
–>
<!DOCTYPE html>
<html lang=”en”>
<head>
    <meta charset=”UTF-8″>
    <meta http-equiv=”X-UA-Compatible” content=”IE=edge”>
    <meta name=”viewport” content=”width=device-width, initial-scale=1.0″>
    <title>Document</title>
    <style>
        ul{
            list-style: none;
            margin: 0;
            padding: 10px;
            display: flex;
            align-items: center;
            flex-direction: column;
            text-align: center;
        }
        body{
            width: 300px;
            height: 200px;
        }
        div{
            width: 300px;
            height: 200px;
        }
        li{
            width: 100%;
            margin-top: 10px;
            padding: 10px;
            cursor: pointer;
        }
    </style>
    <script src=”popup.js”></script>
</head>
<body>
    <div>
        <ul>
            <li class=”li” style=”border: 1px solid gray;border-radius: 10px;”>灰色</li>
            <li class=”li” style=”border: 1px solid blue;border-radius: 10px;”>蓝色</li>
            <li class=”li” style=”border: 1px solid skyblue;border-radius: 10px;”>天空蓝</li>
            <li class=”li” style=”border: 1px solid green;border-radius: 10px;”>绿色</li>
        </ul>
    </div>
    <!– <script src=”popup.js”> –>
    </script>
    <!– <script src=”background.js”></script> –>
</body>
</html>

第五步:在popup.js中编写以下逻辑

/*
 * @Author: liangzai
 * @Date: 2023-06-25 10:45:40
 * @LastEditTime: 2023-06-25 16:24:52
 * @LastEditors: liangzai
 * @Description: 动态修改浏览器的背景颜色
 */
document.addEventListener(“DOMContentLoaded”, function() { //元素加载完后再执行
    var colorArr = [“gray”,”blue”,”skyblue”,”green”];//颜色切换数组
    var li = document.getElementsByClassName(“li”);//获取popup.html中的li元素
        for(let i = 0; i < li.length; i++) {
            (function(index){
                li[index].addEventListener(“click”, function(){
                    const colorIndex = index; //获取点击元素的下标
                    const color = colorArr[colorIndex];//获取数组中对应的颜色
                    //获取当前的标签页
                    chrome.tabs.query({ active: true, currentWindow: true }, function(tabs) {
                        const tabId = tabs[0].id;//当前页的tabId
                        chrome.scripting.executeScript({ //在当前活动的标签页中执行自定义的 JavaScript 脚本
                            target: { tabId: tabId },//指向当前页
                            function:changeBackgroundColor//执行的函数
                            ,
                            args:[color] //函数的传值
                          });
                    });
                })
            })(i)//使用闭包的方式来执行这样可以获取到index
        }
        //上面方法需要定义的函数
        function changeBackgroundColor(color){
            //修改浏览器当前页面的背景颜色
            document.body.style.backgroundColor = color;
        }
})

结束语:通过这个案例可以简单的了解下谷歌插件开发的流程。

结果截图:选择不同的颜色可以切换不同的背景颜色。

0

评论 (0)

取消