zoukankan      html  css  js  c++  java
  • 谷歌浏览器插件开发教程4

    1 页面对插件通信方法

    页面的js 

    $(function(){
    
            chrome.runtime.onMessage.addListener(
        function (request, sender, sendResponse) {
            
            console.log(request);
         
          
        }
    );
    })

    插件的js

        chrome.runtime.sendMessage({"name":"啦啦"},function(){
                  alert('发送成功');
        })

     2 实现右键菜单

     现在配置文件添加权限

    {
        "name": "todo-plugin",
        "version": "0.9.0",
        "manifest_version": 2,
        "description": "chrome plugin demo",
        "browser_action": {
            "default_icon": "icon.png",
            "default_title": "Todo List",
            "default_popup": "popup.html"
        },
        "content_scripts": [{  //对页面内容进行操作的脚本
             "matches": ["http://*/*","https://*/*"],  //满足什么条件执行该插件 
             "js": ["jquery.min.js","test.js"]
        }],
        "background":{
        "scripts":["jquery.min.js","background.js"]
        },
    //右键菜单权限
    "permissions": ["contextMenus"] }

    然后再background.js后台写

    chrome.contextMenus.create({
        title: "测试右键菜单",
        onclick: function(){alert('您点击了右键菜单!');}
       })

     就好了 

    下面加强版

    chrome.contextMenus.create({
        title: '使用度娘搜索:%s', // %s表示选中的文字
        contexts: ['selection'], // 只有当选中文字时才会出现此右键菜单
        onclick: function(params)
        {
            // 注意不能使用location.href,因为location是属于background的window对象
            chrome.tabs.create({url: 'https://www.baidu.com/s?ie=utf-8&wd=' + encodeURI(params.selectionText)});
        }
    });
  • 相关阅读:
    实战篇之实现 OutLook 中以 EDM 形式发送通知邮件
    ASP.NET MVC5 之路由器
    ASP.NET MVC5 之数据迁移
    说不出的烦
    ASP.NET MVC5 之 Log4Net 的学习和使用
    读取配置文件参数和文件路径
    序列化和反序列化示例
    面向对象之封装
    面向对象4之常用的乱七八糟
    面向对象三之继承和派生
  • 原文地址:https://www.cnblogs.com/newmiracle/p/11926969.html
Copyright © 2011-2022 走看看