是否可以预先处理CSS内容脚本文件(例如vars)?
我正在制作一个chrome扩展程序,该扩展程序允许用户针对特定网站自定义主题。目前,我正在将所选主题中的最新更新数据存储在while(dir = readdir(d))
{
if(S_ISDIR(buf.st_mode))
puts(dir->d_name);
}
closedir(d);
中。然后,JS内容脚本通过端口发送消息并接收数据(还注入了CSS内容脚本)。然后,JS内容脚本随后为CSS内容脚本设置CSS变量。我目前遇到的问题是,即使将background.js
设置为"run_at"
,该过程也太慢,似乎仍然存在一到两秒的延迟,大多数延迟似乎是端口通信,而不是CSS文件。 ({"document_start"
文件不是从chrome.storage获取数据,而是从变量获取数据,该变量每次都通过chrome.storage.onChanged更新)。
background.js
background.js
content.js
let lastSelectedTheme;
let lastCustomThemes;
let lastDefaultThemes;
let selectedThemeInfo = {
name: "dark",
background: "#151515",
secondaryBackground: "#191a1c",
topBar: "#000000",
normalTextColor: "#ffffff",
lighterTextColor: "#e8e8e8"
};
(() => {
getValue("customThemes").then(res => {
lastCustomThemes = res;
});
getValue("defaultThemes").then(res => {
lastDefaultThemes = res;
});
})();
function onMessageReceived(request, sender, sendResponse) {
if (request.name === "content") {
sendResponse(selectedThemeInfo);
}
}
chrome.storage.onChanged.addListener(onStorageChange);