|
@@ -47,7 +47,7 @@ chrome.runtime.onMessage.addListener((request, sender, sendResponse) => {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
-const jsRequests = new Set(); // 使用 Set 以避免重复的 URL
|
|
|
+const jsRequests = []; // 使用 Set 以避免重复的 URL
|
|
|
|
|
|
// 观察 DOM 的变化
|
|
|
const observer = new MutationObserver((mutations) => {
|
|
@@ -57,13 +57,33 @@ const observer = new MutationObserver((mutations) => {
|
|
|
if (node.nodeName === "SCRIPT" && node.src) {
|
|
|
const url = new URL(node.src);
|
|
|
if (url.pathname.startsWith("/lib")) return;
|
|
|
- jsRequests.add(node.src);
|
|
|
+ fetch(node.src)
|
|
|
+ .then((res) => res.text())
|
|
|
+ .then((data) => {
|
|
|
+ jsRequests.push({
|
|
|
+ fileName: getFileName(node.src),
|
|
|
+ url: node.src,
|
|
|
+ data,
|
|
|
+ });
|
|
|
+ });
|
|
|
+
|
|
|
+ //jsRequests.add(node.src);
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
|
|
|
+function getFileName(url) {
|
|
|
+ // 创建一个URL对象
|
|
|
+ const urlObj = new URL(url);
|
|
|
+ // 获取路径部分
|
|
|
+ const pathname = urlObj.pathname;
|
|
|
+ // 提取文件名
|
|
|
+ const fileName = pathname.substring(pathname.lastIndexOf("/") + 1);
|
|
|
+ return fileName;
|
|
|
+}
|
|
|
+
|
|
|
// 观察整个文档
|
|
|
observer.observe(document, { childList: true, subtree: true });
|
|
|
|
|
@@ -73,7 +93,16 @@ scripts.forEach((script) => {
|
|
|
if (script.src) {
|
|
|
const url = new URL(script.src);
|
|
|
if (url.pathname.startsWith("/lib")) return;
|
|
|
- jsRequests.add(script.src);
|
|
|
+ fetch(script.src)
|
|
|
+ .then((res) => res.text())
|
|
|
+ .then((data) => {
|
|
|
+ jsRequests.push({
|
|
|
+ fileName: getFileName(script.src),
|
|
|
+ url: script.src,
|
|
|
+ data,
|
|
|
+ });
|
|
|
+ });
|
|
|
+ // jsRequests.add(script.src);
|
|
|
}
|
|
|
});
|
|
|
|