码桶

发现社区成员的开源项目

main
background.js1.1 KB
/*!
 * 超链新标签页打开 (Open Links in New Tab)
 * 后台服务:维护开关状态并同步工具栏图标。
 *
 * 作者:白逸 | 官网:https://imxcy.cn
 * Copyright (c) 白逸. All rights reserved.
 */
"use strict";

var ICON_ON = { 48: "icon48.png", 128: "icon128.png" };
var ICON_OFF = { 48: "icon48_off.png", 128: "icon128_off.png" };

// 根据开关状态更新工具栏图标
function syncIcon(enabled) {
  chrome.action.setIcon({ path: enabled ? ICON_ON : ICON_OFF });
}

// 启动时读取当前状态并刷新图标
chrome.storage.local.get({ enabled: true }, function (item) {
  syncIcon(item.enabled);
});

// 状态变化时(无论来自 popup 还是其他途径)保持图标一致
chrome.storage.onChanged.addListener(function (changes, area) {
  if (area === "local" && changes.enabled) {
    syncIcon(changes.enabled.newValue);
  }
});

// 首次安装时写入默认开启状态
chrome.runtime.onInstalled.addListener(function () {
  chrome.storage.local.get({ enabled: true }, function (item) {
    chrome.storage.local.set({ enabled: item.enabled });
    syncIcon(item.enabled);
  });
});