从0开始开发一个chrome插件(2)

上一篇文章在这里:开发一个处理自己业务的插件

介绍一个插件里面js的操作;

1、manifest.json文件说明请参考上一篇文章,这此在文件中新增加了一个属性:

 "content_scripts":[{
        "matches":["http://*/*","https://*/*"],
        "js":[
            "libs/jquery-3.6.0.min.js", //引用的jquery库
            "content_script.js"  //新建js文件用于业务处理
        ],
        "css":["base.css"], //css
        "run_at": "document_end"  //文档加载完成支线
    }],

manifest匹配地址的页面在刷新时会直接执行这里的代码;

2、在content_script.js编码业务处理逻辑:
例如编写一段去广告的js代码,会在页面加载完成后,将页面指定属性隐藏,实现去广告效果;

//去广告
function removeCSDNAd(){
    $('#footerRightAds').hide()
    $('#aw0').hide()
    console.log('隐藏广告')
    $('.hide-preCode-bt').click()
    console.log('点击更多按钮')
}
removeCSDNAd();

3、backgroud.js
backgoud.js只能执行和chrome扩展相关的函数,无法操作dom
可以再其中创建自定义菜单:


const menu = {
    menus: [
        {
            id: "main",
            visible: true,
            title: "常用操作",
        },
        {
            id: "open",
            type: "normal",
            visible: true,
            title: "打开必应",
            parentId: "main"
        },
        {
            id: "del",
            visible: true,
            type: "normal",
            title: "执行函数",
            parentId: "main"
        },
    ],
};

function toUrl(info) {
    let url;
    switch (info.menuItemId) {
        case "open":
            url = "https://cn.bing.com";
            chrome.tabs.create({
                url,
            });
            break;
        case "del":
            sendToContent();
            break;
    }
    
}

const createMenu = () => {
    menu.menus.forEach(({ fn, ...data }) => {
        chrome.contextMenus.create(data);
    });
    chrome.contextMenus.onClicked.addListener(toUrl);
};



//安装时 创建菜单
chrome.runtime.onInstalled.addListener(async () => {
   createMenu();
   console.log('创建了菜单')
 
   
})

3、popup.js:
popup.js是popup.html打开时加载的js.同样可以操作dom;
参考上一篇文章;

4、自定义新打开标签页
在manifest.json中可以自定义标签页:

     "chrome_url_overrides":
     {
         "newtab": "newtab.html"
     },

配置完成后,就可以打开自定义的标签页‘

下一篇文章,介绍一下各个js之间的通信;

  • 2
    点赞
  • 0
    收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
©️2022 CSDN 皮肤主题:博客之星2021 设计师:Hiro_C 返回首页
评论

打赏作者

liangblog

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值