Skip to content

Commit b8d52fc

Browse files
committed
修改 ScriptFlag 注入方式
1 parent e2c3fba commit b8d52fc

4 files changed

Lines changed: 4 additions & 5 deletions

File tree

src/app/message/content.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ export default class MessageContent
2929

3030
constructor(eventId: string, isContent: boolean) {
3131
super();
32+
if (!eventId || eventId[0] === "{") throw new Error("eventId is missing");
3233
this.eventId = eventId;
3334
this.isContent = isContent;
3435
this.channelManager = new WarpChannelManager((data) => {

src/content.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@ const contentMessage = new MessageContent(scriptFlag, true);
2424
const temp = document.createElementNS("http://www.w3.org/1999/xhtml", "script");
2525
temp.setAttribute("type", "text/javascript");
2626
temp.setAttribute("charset", "UTF-8");
27-
temp.textContent = `(function (ScriptFlag) {\n${injectJs}\n})('${scriptFlag}')${sourceMapTo("injected.js")}`;
27+
const injectJsConv = injectJs.replace("{{__ScriptFlag__}}", () =>`${scriptFlag}`);
28+
temp.textContent = `(function () {\n${injectJsConv}\n})()${sourceMapTo("injected.js")}`;
2829
temp.className = "injected-js";
2930
document.documentElement.appendChild(temp);
3031
temp.remove();

src/inject.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,7 @@ import { type ScriptRunResource } from "./app/repo/scripts";
55
import InjectRuntime from "./runtime/content/inject";
66

77
// 通过flag与content建立通讯,这个ScriptFlag是后端注入时候生成的
8-
// eslint-disable-next-line no-undef
9-
const flag = ScriptFlag;
8+
const flag = "{{__ScriptFlag__}}";
109

1110
// 通过flag与content建立通讯
1211
const message = new MessageContent(flag, false);

src/types/main.d.ts

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
declare let sandbox: Window;
22

3-
declare let ScriptFlag: string;
4-
53
declare let browser: chrome;
64

75
declare let cloneInto: ((detail: any, view: any) => any) | undefined;

0 commit comments

Comments
 (0)