chrome插件开发需要注意的地方

1. chrome传递消息的API在不同的版本有变化,此段代码可以做一个兼容处理。

function compatibleChrome() {
    if (!chrome.runtime) {
        // Chrome 20-21
        chrome.runtime = chrome.extension;
    } else if (!chrome.runtime.onMessage) {
        // Chrome 22-25
        chrome.runtime.onMessage = chrome.extension.onMessage;
        chrome.runtime.sendMessage = chrome.extension.sendMessage;
        chrome.runtime.onConnect = chrome.extension.onConnect;
        chrome.runtime.connect = chrome.extension.connect;
    }
}

2. 本地存储Localstorage

//只能设置字符串,如果是json也要转成字符串形式
window.localStorage.setItem("domain:key", "value");
//获取
window.localStorage.getItem("domain:key");

3. 如果要随时读取本地数据,需要在manifest.json配置background.js

{
    ...,
    "background": {
        "scripts": ["js/background.js"]
    },
    ...
}

这样,content_script里面的代码就可以随时读取Localstorage里面的数据,不然的话就需要Browser_action的popup.html一直打开。

原文地址:https://www.cnblogs.com/leftice/p/3435263.html