美文网首页让前端飞Web前端之路前端开发
【chrome extensions course】4.opti

【chrome extensions course】4.opti

作者: bugWriter_y | 来源:发表于2019-06-04 08:07 被阅读4次

    到目前位置我们只接触了一种页面,那就是popup_page,点击图标弹出页面。

    这片文章介绍另一种页面叫做options_page。有点儿类似于系统设置的意思。所以这种页面要实现的功能也应该是extension的设置类任务。

    这次的案例我们通过options_page来修改颜色属性,并存储到storage。popup_page从storage取出颜色,并设置自己的背景色。
    项目github地址

    效果如下。

    1.gif
    1. manifest.json
    {
        "manifest_version": 2,
        "name": "optionspage",
        "version": "1",
        "description": "this is a optionspage extension",
        "browser_action": {
            "default_popup": "index.html",//这是弹出页
            "default_icon": "images/icon16.png"
        },
        "icons": {
            "16": "images/icon16.png",
            "32": "images/icon32.png",
            "48": "images/icon48.png",
            "128": "images/icon128.png"
        },
        "options_page":"options.html",//设置配置页
        "permissions":["storage"]//需要存储权限
    }
    
    1. index.html
    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <title>首页</title>
        <script src="jquery.min.js"></script>
        <script src="index.js"></script>
        <style>
            body{
                width: 200px;
                text-align: center
            }
        </style>
    </head>
    <body>
        <h1>这是首页</h1>
    </body>
    </html>
    
    1. index.js
    $(function(){
        //页面加载后从storage中取出颜色然后修改body的背景色
        chrome.storage.local.get("bodyColor", function (x) {
            if (x.bodyColor) {
                $("body").css("backgroundColor","#"+x.bodyColor);
            } else {
                $("body").css("backgroundColor","#FFFFFF");
            }
        })
    })
    
    1. options.html
    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="UTF-8">
        <title>首页</title>
        <script src="jquery.min.js"></script>
        <script src="jscolor.js"></script>
        <script src="options.js"></script>
    </head>
    <body>
        <h1>这是配置页</h1>
        <input id='jscolor' class='jscolor' name="jscolor">
        <button>保存</button>
    </body>
    </html>
    
    1. options.js
    $(function () {
        //从storage去取出颜色
        chrome.storage.local.get("bodyColor", function (x) {
            if (x.bodyColor) {
                document.getElementById('jscolor').jscolor.fromString(x.bodyColor);
            } else {
                document.getElementById('jscolor').jscolor.fromString("FFFFFF");
            }
        })
        $("button").click(function(){
            //保存设置的颜色
            chrome.storage.local.set({bodyColor:$("#jscolor").val()})
        })
    })
    

    相关文章

      网友评论

        本文标题:【chrome extensions course】4.opti

        本文链接:https://www.haomeiwen.com/subject/beaxxctx.html