/** * Chrome 扩展后台脚本 * 负责将内容脚本注入 Kintone 页面 */ import { SCRIPT_FILES } from './utils/constants.js'; /** * 将 Kintone Helper 脚本注入指定标签页 * @param {Object} tab - Chrome 标签页对象 * @returns {Promise} 当脚本注入成功时解决 */ const injectKintoneHelperScripts = async (tab) => { try { // 将所有脚本并行注入 await Promise.all( SCRIPT_FILES.map(scriptFile => chrome.scripting.executeScript({ target: { tabId: tab.id }, files: [scriptFile], world: 'MAIN', }) ) ); } catch (error) { throw new Error(`Kintone Helper script injection failed: ${error.message}`); } }; // 当点击扩展,开始执行脚本注入 chrome.action.onClicked.addListener(async (tab) => { await injectKintoneHelperScripts(tab); });