chrome扩展

{//manifest.json
  "name": "name",
  "version": "1.0.1",
  "manifest_version": 2,
  "description": "description",
  "browser_action": {
    "default_icon": "icon.ico",
    "default_title": "name",
    "default_popup": "index.html"
  },
  "permissions": [ "tabs", "cookies", "storage", "sessions", "webRequest", "webRequestBlocking", "history", "http://*/", "https://*/" ],
  "content_security_policy": "script-src 'self' 'unsafe-inline' 'unsafe-eval' http://ip:*/; object-src 'self'",
  "background": { "scripts": [ "background.js" ] },
  "content_scripts": [
    {
      "matches": [ "*://*/*" ],
      "js": [ "content.js" ],
      "run_at": "document_end",
      "all_frames": true
    }
  ]
}

通信

chrome.extension.onMessage.addListener((req, sender, res) => res(req + 1));//background scripts

chrome.extension.sendMessage(123, alert);//content_scripts
chrome.extension.onMessage.addListener((req, sender, res) => alert(req));//content_scripts

chrome.tabs.query({ /*active: true, currentWindow: true*/ }, function (tabs) {//default_popup
    for (let v of tabs) chrome.tabs.sendMessage(v.id, 'default_popup');
});

chrome.cookies.set({ url: url, name: "a", value: "123" }, console.log);//设置cookie
chrome.cookies.getAll({}, console.log);//查cookie

chrome.webRequest.onBeforeSendHeaders.addListener(p => {//改写requestHeader
    let ua = p.requestHeaders.filter(p => p.name == 'User-Agent')[0];
    if (ua) ua.value = '...';
    p.requestHeaders.push({ name: "AAA", value: "..." });
    return { requestHeaders: p.requestHeaders };
}, { urls: ["http://domain/*"], types: ["xmlhttprequest"] }, ["blocking", "requestHeaders"]);

chrome.webRequest.onHeadersReceived.addListener(p => {//改写responseHeader
    let a = p.responseHeaders.filter(p => p.name == 'px')[0];
    if (a) a.value = '...';
    else p.responseHeaders.push({ name: 'px', value: "..." });
    return { responseHeaders: p.responseHeaders };
}, { urls: ["http://domain/*"], types: ["xmlhttprequest"] }, ["responseHeaders", 'blocking']);

猜你喜欢

转载自blog.csdn.net/slwsss/article/details/111712975