- popup.js 拆分为 i18n/crypto-file/strength/messaging/ui-utils 五个 ES 模块 - 所有源码迁移至 src/ 目录,tsconfig strict 模式零错误编译 - globals.d.ts 定义 EnvStore/CryptoStore 完整接口与全局类型 - manifest.json 与 popup.html 引用 dist/ 编译产物 - 删除无效的 sidePanel.setOptions panelWidth 调用
25 lines
784 B
JavaScript
25 lines
784 B
JavaScript
export function openConfigUrl(domain) {
|
|
if (!domain)
|
|
return;
|
|
const url = /^https?:\/\//i.test(domain) ? domain : "http://" + domain;
|
|
window.open(url, "_blank", "noopener");
|
|
}
|
|
export async function fetchTitleByDomain(domain) {
|
|
try {
|
|
const base = /^https?:\/\//i.test(domain) ? domain : "*://" + domain;
|
|
const patterns = [base];
|
|
if (!base.endsWith("*"))
|
|
patterns.push(base + "/*");
|
|
const tabs = await chrome.tabs.query({ url: patterns });
|
|
for (const tab of tabs) {
|
|
if (tab.title)
|
|
return tab.title;
|
|
}
|
|
}
|
|
catch (e) { }
|
|
return null;
|
|
}
|
|
export function closeAllMenus() {
|
|
document.querySelectorAll(".config-menu.open").forEach((m) => m.classList.remove("open"));
|
|
}
|