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

    谷歌浏览器插件开发教程5

    插件跟页面里的js通信方法

    ccontent-script有一个很大的“缺陷”,也就是无法访问页面中的JS,虽然它可以操作DOM 也就说你访问不了原来页面里的变量,

     所以采用如下方法

    配置文件 设置

    web_accessible_resources
    inject.js
    
    
    {
        "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"],
        "web_accessible_resources": ["inject.js"]
    
        }

     然后content-script中嵌入js 

    inject.js
    function injectCustomJs(jsPath)
    {
        jsPath = jsPath || 'inject.js';
        var temp = document.createElement('script');
        temp.setAttribute('type', 'text/javascript');
        // 获得的地址类似:chrome-extension://ihcokhadfjfchaeagdoclpnjdiokfakg/js/inject.js
        temp.src = chrome.extension.getURL(jsPath);
        temp.onload = function()
        {
            // 放在页面不好看,执行完后移除掉
            this.parentNode.removeChild(this);
        };
        document.head.appendChild(temp);
    }
    injectCustomJs();
    inject.js (这个文件就可以访问页面中的js变量了)

    alert(11111111111);

    测试 应该会直接弹出11111111

    可以发现 

    inject.js 是完全加载到页面里面了

     

    content-script和inject通信方法

     发送

    	window.postMessage({cmd: 'message', data: "fwef"}, '*');
    

      监听

    window.addEventListener("message", function(e)
    {
        console.log(e.data);
    }, false);
    

      

  • 相关阅读:
    用Hexo搭建博客(一)——在本地搭建一个博客
    Windows 10关闭自动更新
    ArcGIS Engine10.2与VS2012的安装与配置(含下载链接)
    ArcGIS Server 10.6 安装在windows server 2008 r2 环境中遇到的问题及解决方法
    windows server 2012 配置IIS 8.0教程
    VMware安装windows server 2012 r2详细教程(附下载链接)
    动态网页开发基础
    使用jQuery操作DOM
    jQuery中的事件与动画
    Jquery选择器
  • 原文地址:https://www.cnblogs.com/newmiracle/p/11934621.html
Copyright © 2011-2022 走看看