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