更新
This commit is contained in:
@@ -24,6 +24,72 @@ chrome.runtime.onMessage.addListener((request, sender, sendResponse) => {
|
||||
resolve(res.json());
|
||||
});
|
||||
}).then(sendResponse);
|
||||
} else if (request.type == 'temu') {
|
||||
new Promise((resolve) => {
|
||||
let headers = {};
|
||||
headers['Content-Type'] = 'text/html';
|
||||
headers.cookie = getTemuCookie();
|
||||
Promise.resolve().then(() => fetch(request.url, {
|
||||
'headers': headers,
|
||||
'method': 'GET',
|
||||
'referrerPolicy': 'no-referrer',
|
||||
'credentials': 'include',
|
||||
'mode': 'cors'
|
||||
})).then((res) => {
|
||||
// 创建了一个数据读取器
|
||||
const reader = res.body.getReader();
|
||||
// 创建了一个文本解码器
|
||||
const decoder = new TextDecoder();
|
||||
|
||||
let text = ""
|
||||
reader.read().then(function processText({ done, value }) {
|
||||
// Result 对象包含了两个属性:
|
||||
// done - 当 stream 传完所有数据时则变成 true
|
||||
// value - 数据片段。当 done 为 true 时始终为 undefined
|
||||
if (done) {
|
||||
resolve(text);
|
||||
return;
|
||||
}
|
||||
// 将字节流转换为字符
|
||||
text = text + decoder.decode(value)
|
||||
// 再次调用这个函数以读取更多数据
|
||||
return reader.read().then(processText);
|
||||
});
|
||||
});
|
||||
}).then(sendResponse);
|
||||
} else if (request.type == 'aliexpress') {
|
||||
new Promise((resolve) => {
|
||||
let headers = {};
|
||||
headers['Content-Type'] = 'text/html';
|
||||
headers.cookie = getAliexpressCookie();
|
||||
Promise.resolve().then(() => fetch(request.url, {
|
||||
'headers': headers,
|
||||
'method': 'GET',
|
||||
'referrerPolicy': 'no-referrer',
|
||||
'credentials': 'include',
|
||||
'mode': 'cors'
|
||||
})).then((res) => {
|
||||
// 创建了一个数据读取器
|
||||
const reader = res.body.getReader();
|
||||
// 创建了一个文本解码器
|
||||
const decoder = new TextDecoder();
|
||||
|
||||
let text = ""
|
||||
reader.read().then(function processText({ done, value }) {
|
||||
// Result 对象包含了两个属性:
|
||||
// done - 当 stream 传完所有数据时则变成 true
|
||||
// value - 数据片段。当 done 为 true 时始终为 undefined
|
||||
if (done) {
|
||||
resolve(text);
|
||||
return;
|
||||
}
|
||||
// 将字节流转换为字符
|
||||
text = text + decoder.decode(value)
|
||||
// 再次调用这个函数以读取更多数据
|
||||
return reader.read().then(processText);
|
||||
});
|
||||
});
|
||||
}).then(sendResponse);
|
||||
} else if (request.type == 'notify') {
|
||||
chrome.notifications.create(
|
||||
"" + Math.random(), {
|
||||
@@ -84,3 +150,25 @@ function getCookie() {
|
||||
});
|
||||
return cStr;
|
||||
}
|
||||
|
||||
function getTemuCookie() {
|
||||
const url = new URL("https://www.temu.com/");
|
||||
let cStr = '';
|
||||
chrome.cookies.getAll({domain: url.host}, (cookie) => {
|
||||
cookie.map((c) => {
|
||||
cStr += c.name + '=' + c.value + ';';
|
||||
});
|
||||
});
|
||||
return cStr;
|
||||
}
|
||||
|
||||
function getAliexpressCookie() {
|
||||
const url = new URL("https://www.aliexpress.us/");
|
||||
let cStr = '';
|
||||
chrome.cookies.getAll({domain: url.host}, (cookie) => {
|
||||
cookie.map((c) => {
|
||||
cStr += c.name + '=' + c.value + ';';
|
||||
});
|
||||
});
|
||||
return cStr;
|
||||
}
|
||||
Reference in New Issue
Block a user