fix: update webRequest listener to use browser API and adjust URL for fontset API
This commit is contained in:
parent
c7553ace12
commit
153988c35a
|
@ -1,4 +1,6 @@
|
|||
chrome.webRequest.onBeforeRequest.addListener(
|
||||
console.log("aaaa")
|
||||
|
||||
browser.webRequest.onBeforeRequest.addListener(
|
||||
async (details) => {
|
||||
console.log(
|
||||
'onBeforeRequest MAIN_FRAME:',
|
||||
|
@ -7,22 +9,29 @@ chrome.webRequest.onBeforeRequest.addListener(
|
|||
details.frameId,
|
||||
details.tabId,
|
||||
)
|
||||
if (
|
||||
details.url === 'https://monster-siren.hypergryph.com/manifest.json' &&
|
||||
details.type === 'other' &&
|
||||
details.frameId === 0
|
||||
) {
|
||||
const pref = await chrome.storage.sync.get('preferences')
|
||||
|
||||
if (pref === undefined || pref.preferences === undefined || pref.preferences.autoRedirect === undefined || pref.preferences.autoRedirect === true) {
|
||||
chrome.tabs.create({ url: chrome.runtime.getURL('index.html') })
|
||||
chrome.tabs.remove(details.tabId)
|
||||
console.log('recived request for fontset api, redirecting to index.html')
|
||||
const pref = await browser.storage.sync.get('preferences')
|
||||
|
||||
if (pref === undefined || pref.preferences === undefined || pref.preferences.autoRedirect === undefined || pref.preferences.autoRedirect === true) {
|
||||
const isChrome = typeof browser.runtime.getBrowserInfo === 'undefined';
|
||||
|
||||
if (isChrome) {
|
||||
browser.tabs.create({ url: browser.runtime.getURL('index.html') })
|
||||
browser.tabs.remove(details.tabId)
|
||||
} else {
|
||||
// Firefox: 直接在当前标签页导航
|
||||
browser.tabs.update(details.tabId, { url: browser.runtime.getURL('index.html') })
|
||||
}
|
||||
}
|
||||
},
|
||||
{ urls: ['https://monster-siren.hypergryph.com/manifest.json'] },
|
||||
{ urls: ['https://monster-siren.hypergryph.com/api/fontset'] },
|
||||
)
|
||||
|
||||
chrome.action.onClicked.addListener(() => {
|
||||
chrome.tabs.create({ url: chrome.runtime.getURL('index.html') })
|
||||
})
|
||||
// 兼容新旧版本的 API
|
||||
const actionAPI = browser.action || browser.browserAction;
|
||||
if (actionAPI) {
|
||||
actionAPI.onClicked.addListener(() => {
|
||||
browser.tabs.create({ url: browser.runtime.getURL('index.html') })
|
||||
})
|
||||
}
|
Loading…
Reference in New Issue
Block a user