小编sha*_*phy的帖子

保持Chrome扩展程序在页面上运行时重新加载

我正在尝试构建一个简单的Chrome扩展程序,该扩展程序在切换浏览器操作(扩展程序图标)时会插入/隐藏div。我已经掌握了基础知识,但是我希望扩展在页面重新加载时保持在“开启状态”(即div插入)。仅在关闭时应将其删除。

当前,每次重新加载都会重置所有内容。

这是我到目前为止的内容:

manifest.json

{
    "name": "My Extension",
    "version": "0.0.1",
    "manifest_version": 2,
    "background": {
        "scripts": ["background.js"],
        "persistent": false
    },
    "browser_action": {
        "default_icon": "icon-off.png"
    },
    "permissions": [
        "tabs"
    ]
}
Run Code Online (Sandbox Code Playgroud)

background.js

toggle = false;

chrome.browserAction.onClicked.addListener(function(tab) {

    toggle = !toggle;

    var status = 'off';

    if(toggle) {
        status = 'on';
    }

    // Toggle the icon
    chrome.browserAction.setIcon({path: 'icon-'+status+'.png', tabId:tab.id});

    // Execute script & pass a variable
    chrome.tabs.executeScript(tab.id, {
        code: 'var extension_status = "'+status+'";'
    }, function() {
        chrome.tabs.executeScript(tab.id, {file: 'inject.js'});
    });

});
Run Code Online (Sandbox Code Playgroud)

inject.js …

javascript google-chrome google-chrome-extension

2
推荐指数
1
解决办法
2613
查看次数