zoukankan      html  css  js  c++  java
  • Chrome插件开发一(配置文件)

     

    配置文件manifest.json

    (0)每个插件都必须要有nameversion

     name不超过45个字符 version介于065535之间,description不超过132个字符

     

    1"chrome_url_overrides": {

        "newtab": "newtab.html"

      },

    新建Tab时的默认页面,用newtab.html覆盖默认的页面

    2

    {

      "name": "My extension",

      ...

      "browser_action": {

        "default_icon": "images/icon19.png", // required

        "default_title": "Google Mail",      // optional; shown in tooltip

        "popup": "popup.html"                // optional

      },

      ...

    }

    浏览器行为,默认icon,默认title,默认弹出页面。

    3

    {

                    "theme":

                    {

                                    "images":

                                    {

                                                    "theme_toolbar": "i\/agxjaHJvbWV0aGVtZXNyDAsSBEZpbGUY34MEDA",

                                                    "theme_ntp_attribution": "i\/agxjaHJvbWV0aGVtZXNyDAsSBEZpbGUYqpMEDA",

                                                    "theme_frame": "i\/agxjaHJvbWV0aGVtZXNyDAsSBEZpbGUYqJMEDA",

                                                    "theme_tab_background": "i\/agxjaHJvbWV0aGVtZXNyDAsSBEZpbGUY4YMEDA",

                                                    "theme_ntp_background": "i\/agxjaHJvbWV0aGVtZXNyDAsSBEZpbGUY-KcFDA"

                                    },

                                    "colors":

                                    {

                                                    "ntp_section_text": [255, 255, 255],

                                                    "tab_text": [0, 0, 0],

                                                    "frame": [0, 0, 0],

                                                    "ntp_background": [0, 0, 0],

                                                    "ntp_link": [255, 255, 255],

                                                    "tab_background_text": [0, 0, 0],

                                                    "ntp_text": [255, 255, 255],

                                                    "ntp_section": [255, 255, 255, 0.6],

                                                    "ntp_section_link": [6, 45, 117],

                                                    "ntp_header": [150, 150, 150, 1],

                                                    "toolbar": [250, 250, 250],

                                                    "bookmark_text": [0, 0, 0]

                                    },

                                    "tints":

                                    {

                                                    "buttons": [0.589, 0, 0.5]

                                    },

                                    "properties":

                                    {

                                                    "ntp_background_repeat": "no-repeat",

                                                    "ntp_logo_alternate": 1,

                                                    "ntp_background_alignment": "top"

                                    }

                    },

                    "version": "3",

                    "name": "AT_Rampage_v2"

    }

     

    Chrome的源代码中关于theme的一部分

    const int kThemeableImages[] = {

     

      IDR_THEME_FRAME,

     

      IDR_THEME_FRAME_INACTIVE,

     

      IDR_THEME_FRAME_INCOGNITO,

     

      IDR_THEME_FRAME_INCOGNITO_INACTIVE,

     

      IDR_THEME_TOOLBAR,

     

      IDR_THEME_TAB_BACKGROUND,

     

      IDR_THEME_TAB_BACKGROUND_INCOGNITO,

     

      IDR_THEME_TAB_BACKGROUND_V,

     

      IDR_THEME_NTP_BACKGROUND,

     

      IDR_THEME_FRAME_OVERLAY,

     

      IDR_THEME_FRAME_OVERLAY_INACTIVE,

     

      IDR_THEME_BUTTON_BACKGROUND,

     

      IDR_THEME_NTP_ATTRIBUTION,

     

      IDR_THEME_WINDOW_CONTROL_BACKGROUND

    };

    所有的图片在Chrome里的定义列表

    theme_toolbar:(对应IDR_THEME_TOOLBAR)工具栏图片

    theme_ntp_attribution:(对应IDR_THEME_NTP_ATTRIBUTION

    theme_frame:IDR_THEME_FRAME)边框图片

     

     

    (4)

    {

      "name": "My extension",

      ...

      "permissions": [

        "bookmarks"

      ],

      ...

    }

    Permissions:要想使用某些功能需要加在permissions里使其获得权限

    要想使用BookMark APIs需要先声明bookmarks

    5permissions:

     

    "permissions": [

      "tabs",

      "bookmarks",

      "http://www.blogger.com/",

      "http://*.google.com/"

    ],

     

    可以是已定义的应用(例如tabs  bookmarks等),也可以是一个或多个符合规范的主机地址,若要想使用XMLHttpRequest异步获取数据需要在permissions里加http://*/*以获得跨域访问的权限例如:

    "permissions": ["tabs","http://*/*"]

     

     

    6background_page:用来在后台处理数据,长时间运行的脚本,管理状态和任务,程序向background_page查询状态,background_page收到状态更改就通知程序更改状态

  • 相关阅读:
    卧槽!缓存的问题太多了(雪崩、击穿、穿透…)一个个解决!
    Java 命名规范(非常全面,可以收藏)
    一次接口超时排查,花费了我两个星期。。
    LiveGBS和海康威视
    SQLite文件存储和读取
    Vue页面刷新原理:Cesium刷新机制
    MBtiles格式数据
    gitee:403错误
    uniapp是什么?
    HBuilderx怎么运行代码
  • 原文地址:https://www.cnblogs.com/Jonas/p/1643591.html
Copyright © 2011-2022 走看看