Skip to content

Commit caa3bf2

Browse files
committed
🚧 firefox兼容
1 parent 47d7cec commit caa3bf2

8 files changed

Lines changed: 27 additions & 23 deletions

File tree

packages/filesystem/baidu/baidu.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ export default class BaiduFileSystem implements FileSystem {
6565
{
6666
id: 100,
6767
action: {
68-
type: chrome.declarativeNetRequest.RuleActionType.MODIFY_HEADERS,
68+
type: "modifyHeaders" as chrome.declarativeNetRequest.RuleActionType,
6969
responseHeaders: [{ operation: chrome.declarativeNetRequest.HeaderOperation.REMOVE, header: "cookie" }],
7070
},
7171
condition: {

packages/message/extension_message.ts

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -60,13 +60,14 @@ export class ExtensionMessage extends ExtensionMessageSend implements Message {
6060
});
6161
if (this.onUserScript) {
6262
// 监听用户脚本的连接
63-
chrome.runtime.onUserScriptConnect.addListener((port) => {
64-
const handler = (msg: any) => {
65-
port.onMessage.removeListener(handler);
66-
callback(msg, new ExtensionMessageConnect(port));
67-
};
68-
port.onMessage.addListener(handler);
69-
});
63+
chrome.runtime.onUserScriptConnect &&
64+
chrome.runtime.onUserScriptConnect.addListener((port) => {
65+
const handler = (msg: any) => {
66+
port.onMessage.removeListener(handler);
67+
callback(msg, new ExtensionMessageConnect(port));
68+
};
69+
port.onMessage.addListener(handler);
70+
});
7071
}
7172
}
7273

@@ -80,12 +81,13 @@ export class ExtensionMessage extends ExtensionMessageSend implements Message {
8081
});
8182
if (this.onUserScript) {
8283
// 监听用户脚本的消息
83-
chrome.runtime.onUserScriptMessage.addListener((msg, sender, sendResponse) => {
84-
if (msg.action === "messageQueue") {
85-
return false;
86-
}
87-
return callback(msg, sendResponse, sender);
88-
});
84+
chrome.runtime.onUserScriptMessage &&
85+
chrome.runtime.onUserScriptMessage.addListener((msg, sender, sendResponse) => {
86+
if (msg.action === "messageQueue") {
87+
return false;
88+
}
89+
return callback(msg, sendResponse, sender);
90+
});
8991
}
9092
}
9193
}

packages/message/window_message.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ export class ServiceWorkerMessageSend implements MessageSend {
168168
constructor() {}
169169

170170
async init() {
171-
if (!this.target) {
171+
if (!this.target && self.clients) {
172172
const list = await self.clients.matchAll({ includeUncontrolled: true, type: "window" });
173173
this.target = list[0];
174174
self.addEventListener("message", (e) => {

src/app/service/service_worker/gm_api.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -429,7 +429,7 @@ export default class GMApi {
429429
const rule = {} as chrome.declarativeNetRequest.Rule;
430430
rule.id = ruleId;
431431
rule.action = {
432-
type: chrome.declarativeNetRequest.RuleActionType.MODIFY_HEADERS,
432+
type: "modifyHeaders" as chrome.declarativeNetRequest.RuleActionType,
433433
requestHeaders: requestHeaders,
434434
};
435435
rule.priority = 1;

src/app/service/service_worker/script.ts

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -72,12 +72,12 @@ export class ScriptService {
7272
id: 2,
7373
priority: 1,
7474
action: {
75-
type: chrome.declarativeNetRequest.RuleActionType.ALLOW,
75+
type: "allow" as chrome.declarativeNetRequest.RuleActionType,
7676
},
7777
condition: {
7878
regexFilter: targetUrl,
7979
resourceTypes: [chrome.declarativeNetRequest.ResourceType.MAIN_FRAME],
80-
requestMethods: [chrome.declarativeNetRequest.RequestMethod.GET],
80+
requestMethods: ["get" as chrome.declarativeNetRequest.RequestMethod],
8181
},
8282
},
8383
],
@@ -118,15 +118,15 @@ export class ScriptService {
118118
id: 1,
119119
priority: 1,
120120
action: {
121-
type: chrome.declarativeNetRequest.RuleActionType.REDIRECT,
121+
type: "redirect" as chrome.declarativeNetRequest.RuleActionType,
122122
redirect: {
123123
regexSubstitution: `https://docs.scriptcat.org${localePath}/docs/script_installation/#url=\\0`,
124124
},
125125
},
126126
condition: {
127127
regexFilter: "^([^#]+?)\\.user(\\.bg|\\.sub)?\\.js((\\?).*|$)",
128128
resourceTypes: [chrome.declarativeNetRequest.ResourceType.MAIN_FRAME],
129-
requestMethods: [chrome.declarativeNetRequest.RequestMethod.GET],
129+
requestMethods: ["get" as chrome.declarativeNetRequest.RequestMethod],
130130
// 排除常见的符合上述条件的域名
131131
excludedRequestDomains: ["github.com"],
132132
},

src/manifest.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,10 @@
99
"open_in_tab": true
1010
},
1111
"background": {
12-
"service_worker": "src/service_worker.js"
12+
"service_worker": "src/service_worker.js",
13+
"scripts": [
14+
"src/service_worker.js"
15+
]
1316
},
1417
"action": {
1518
"default_popup": "src/popup.html",

src/pages/options/routes/ScriptList.tsx

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -617,7 +617,6 @@ function ScriptList() {
617617
const dealColumns: ColumnProps[] = [];
618618

619619
newColumns.forEach((item) => {
620-
console.log(newColumns);
621620
switch (item.width) {
622621
case -1:
623622
break;

src/pkg/config/chrome_storage.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ export default class ChromeStorage {
1616
return new Promise((resolve) => {
1717
key = this.buildKey(key);
1818
this.storage.get(key, (items) => {
19-
resolve(items[key]);
19+
resolve(items && items[key]);
2020
});
2121
});
2222
}

0 commit comments

Comments
 (0)