fix: firefox rule (#691)

* fix: firefox rule

* fix: add default URL when URI is extension URI
This commit is contained in:
star knight
2024-04-29 00:43:07 +08:00
committed by GitHub
parent beff7d04ee
commit e13af11121

View File

@@ -6,6 +6,10 @@ browser.runtime.onInstalled.addListener((): void => {
console.log('Extension installed')
})
function isExtensionUri(url: string) {
return new URL(url).origin === new URL(browser.runtime.getURL('')).origin
}
// eslint-disable-next-line node/prefer-global/process
if (process.env.FIREFOX) {
browser.webRequest.onBeforeSendHeaders.addListener(
@@ -13,10 +17,11 @@ if (process.env.FIREFOX) {
const requestHeaders: browser.WebRequest.HttpHeaders = []
if (details.documentUrl) {
const url = new URL(details.documentUrl)
const extensionUri = isExtensionUri(details.documentUrl)
details.requestHeaders = details.requestHeaders || []
for (let i = 0; i < details.requestHeaders.length; i++) {
if (details.requestHeaders[i].name.toLowerCase() === 'origin' || details.requestHeaders[i].name.toLowerCase() === 'referer')
requestHeaders.push({ name: details.requestHeaders[i].name, value: url.origin })
requestHeaders.push({ name: details.requestHeaders[i].name, value: extensionUri ? 'https://www.bilibili.com' : url.origin })
else
requestHeaders.push(details.requestHeaders[i])
}