dtp-webextension/common_content_script.js

34 lines
1.1 KiB
JavaScript
Raw Normal View History

2020-06-09 21:27:28 +08:00
function getElementByXpath(path) {
2020-06-09 23:08:05 +08:00
return document.evaluate(path, document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
2020-06-09 21:27:28 +08:00
}
function twitterXPath(nth, sendResponse) {
let a = getElementByXpath(`(//article[contains(@role,'article')])[${nth}]//a[contains(@href,'/photo/')]//img/@src`);
let arr = [];
for (i=0; i<a.snapshotLength; i++) {
let oneUrl = a.snapshotItem(i).textContent;
let splited = oneUrl.split('?');
let baseUrl = splited[0];
var getParas = new URLSearchParams(splited[1]);
getParas.set("name", "orig");
arr.push(baseUrl + '?' + getParas.toString());
}
console.log(arr);
sendResponse({dataType: 'urlList', urlList: arr, source: window.location.href});
}
2020-06-09 21:27:28 +08:00
chrome.extension.onRequest.addListener(function(request, sender, sendResponse) {
2020-06-09 21:27:28 +08:00
if (request.action == "requestPics") {
twitterXPath(1, sendResponse);
} else if (request.action == "requestPics2") {
twitterXPath(2, sendResponse);
} else if (request.action == "requestPics3") {
twitterXPath(3, sendResponse);
} else if (request.action == "requestPics4") {
twitterXPath(4, sendResponse);
2020-06-09 21:27:28 +08:00
} else {
sendResponse({}); // Send nothing..
}
});