init commit
This commit is contained in:
commit
3727ec6800
11
background.js
Normal file
11
background.js
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
'use strict';
|
||||||
|
|
||||||
|
chrome.browserAction.onClicked.addListener(function(callback) {
|
||||||
|
//chrome.declarativeContent.ShowPageAction();
|
||||||
|
});
|
||||||
|
|
||||||
|
chrome.runtime.onInstalled.addListener(function() {
|
||||||
|
// chrome.storage.sync.set({color: '#3aa757'}, function() {
|
||||||
|
// console.log("The color is green.");
|
||||||
|
// });
|
||||||
|
});
|
14
common_content_script.js
Normal file
14
common_content_script.js
Normal file
|
@ -0,0 +1,14 @@
|
||||||
|
function getElementByXpath(path) {
|
||||||
|
return document.evaluate(path, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
|
||||||
|
}
|
||||||
|
|
||||||
|
chrome.extension.onRequest.addListener(function(request, sender, sendResponse) {
|
||||||
|
if (request.action == "requestPics") {
|
||||||
|
// TODO: check url, use different match rule to return data.
|
||||||
|
let a = getElementByXpath("//article[contains(@role,'article')][1]//a[contains(@href,'/photo/')]//img/@src");
|
||||||
|
console.log(a);
|
||||||
|
sendResponse({dateType: 'urlList', urlList: a});
|
||||||
|
} else {
|
||||||
|
sendResponse({}); // Send nothing..
|
||||||
|
}
|
||||||
|
});
|
20
manifest.json
Normal file
20
manifest.json
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
{
|
||||||
|
"name": "Download The Pics (WebExtension Client)",
|
||||||
|
"version": "1.0",
|
||||||
|
"manifest_version": 2,
|
||||||
|
"description": "Download The Pics WebExtension Client. You also need the local daemon process to make this extension works",
|
||||||
|
"background": {
|
||||||
|
"scripts": ["background.js"]
|
||||||
|
},
|
||||||
|
"browser_action": {
|
||||||
|
"default_popup": "popup.html"
|
||||||
|
},
|
||||||
|
"content_scripts": [
|
||||||
|
{
|
||||||
|
"matches": ["<all_urls>"],
|
||||||
|
"run_at": "document_start",
|
||||||
|
"js": ["common_content_script.js"]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"permissions": ["activeTab", "declarativeContent"]
|
||||||
|
}
|
16
popup.html
Normal file
16
popup.html
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<style>
|
||||||
|
button {
|
||||||
|
height: 30px;
|
||||||
|
width: 90px;
|
||||||
|
outline: none;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<button id="download"></button>
|
||||||
|
<script src="popup.js"></script>
|
||||||
|
</body>
|
||||||
|
</html>
|
27
popup.js
Normal file
27
popup.js
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
let downloadBtn = document.getElementById('download');
|
||||||
|
//
|
||||||
|
// chrome.storage.sync.get('color', function(data) {
|
||||||
|
// changeColor.style.backgroundColor = data.color;
|
||||||
|
// changeColor.setAttribute('value', data.color);
|
||||||
|
// });
|
||||||
|
|
||||||
|
downloadBtn.onclick = function(element) {
|
||||||
|
|
||||||
|
// chrome.tabs.query({currentWindow: true, active: true}, function(tabs) {
|
||||||
|
// console.log(tabs[0].url);
|
||||||
|
// });
|
||||||
|
|
||||||
|
chrome.tabs.getSelected(null, function(tab) {
|
||||||
|
// Send a request to the content script.
|
||||||
|
chrome.tabs.sendRequest(tab.id, {action: "requestPics"}, function(response) {
|
||||||
|
console.log(response);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
// let color = element.target.value;
|
||||||
|
// chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
|
||||||
|
// chrome.tabs.executeScript(
|
||||||
|
// tabs[0].id,
|
||||||
|
// {code: 'document.body.style.backgroundColor = "' + color + '";'});
|
||||||
|
// });
|
||||||
|
};
|
Loading…
Reference in New Issue
Block a user