working browser extension to catch current track info and sent it to Flask bot
This commit is contained in:
parent
da88659dd5
commit
5edb172617
34
deezer-tooter/background-script.js
Normal file
34
deezer-tooter/background-script.js
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
// function onError(error) {
|
||||||
|
// console.error(`Error in background script: ${error}`);
|
||||||
|
// }
|
||||||
|
|
||||||
|
// function handleMessage(request, sender, sendResponse){
|
||||||
|
// console.log("In background : " + request.command)
|
||||||
|
|
||||||
|
// browser.tabs.query({
|
||||||
|
// currentWindow: true,
|
||||||
|
// active: true
|
||||||
|
// }).then(sendMessageToTabs)
|
||||||
|
// .then(() => sendResponse({title: "No title yet"})
|
||||||
|
// )
|
||||||
|
// .catch(onError);
|
||||||
|
|
||||||
|
// }
|
||||||
|
|
||||||
|
// function sendMessageToTabs (tabs){
|
||||||
|
// for(let tab of tabs){
|
||||||
|
// browser.tabs.sendMessage(
|
||||||
|
// tab.id,
|
||||||
|
// {content: "get-title"}
|
||||||
|
// ).then(response => {
|
||||||
|
// console.log("Message from content script : " + response)
|
||||||
|
// }).catch(onError)
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
// browser.runtime.onMessage.addListener(handleMessage);
|
||||||
|
|
||||||
|
|
||||||
|
// // "background": {
|
||||||
|
// // "scripts": ["background-script.js"]
|
||||||
|
// // },
|
@ -5,10 +5,11 @@
|
|||||||
<link href="style.css" rel="stylesheet" />
|
<link href="style.css" rel="stylesheet" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<input type="text" name="Content" id="toot-content">
|
<span id="artist"></span> - <span id="title"></span>
|
||||||
|
<br>
|
||||||
|
<input type="text" name="Comment" id="toot-content" placeholder="Your comment here">
|
||||||
<button id="toot-button">Toot !</button><br>
|
<button id="toot-button">Toot !</button><br>
|
||||||
<br>
|
<br>
|
||||||
<span id='track-link'>Gemini</span>
|
|
||||||
<script src="script.js"></script>
|
<script src="script.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
@ -1,9 +1,6 @@
|
|||||||
|
function tootInfo(message) {
|
||||||
function tootButtonHandler() {
|
tootContent = message.artist + " - " + message.title
|
||||||
// TODO : add content script to get the pages' HTML elements
|
url = "http://localhost:5000/toot?content=" + tootContent
|
||||||
tootContent = "Now playing awesome stuff !"
|
|
||||||
url = "http://localhost:5000/toot?content="
|
|
||||||
console.log(tootContent)
|
|
||||||
fetch(url)
|
fetch(url)
|
||||||
.then(function (response) {
|
.then(function (response) {
|
||||||
return response;
|
return response;
|
||||||
@ -16,5 +13,24 @@ function tootButtonHandler() {
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function handleResponse() {
|
||||||
|
document.getElementById("artist").innerText = message.artist
|
||||||
|
document.getElementById("title").innerText = message.title
|
||||||
|
}
|
||||||
|
|
||||||
|
function handleError(error) {
|
||||||
|
console.log(`Error: ${error}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
function getCurrentInfo () {
|
||||||
|
var gettingActiveTab = browser.tabs.query({active: true, currentWindow: true})
|
||||||
|
gettingActiveTab.then((tabs) => {
|
||||||
|
browser.tabs.sendMessage(tabs[0].id, {command: "get-info"})
|
||||||
|
.then(handleResponse, handleError);
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
button = document.getElementById('toot-button')
|
button = document.getElementById('toot-button')
|
||||||
button.onclick = tootButtonHandler
|
browser.browserAction.onClicked.addListener(getCurrentInfo)
|
||||||
|
button.onclick = tootInfo
|
||||||
|
browser.tabs.executeScript(null, { file: "/content_script.js" });
|
@ -0,0 +1,8 @@
|
|||||||
|
browser.runtime.onMessage.addListener((data, sender, sendResponse) => {
|
||||||
|
console.log("Content script : " + data.command)
|
||||||
|
deezerTitle = document.getElementsByClassName('track-link')[0].innerHTML
|
||||||
|
deezerArtist = document.getElementsByClassName('track-link')[1].innerHTML
|
||||||
|
sendResponse({title: deezerTitle, artist: deezerArtist})
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log("Content script loaded")
|
Binary file not shown.
Before Width: | Height: | Size: 3.0 KiB After Width: | Height: | Size: 1.4 KiB |
@ -8,12 +8,8 @@
|
|||||||
},
|
},
|
||||||
"content_scripts": [
|
"content_scripts": [
|
||||||
{
|
{
|
||||||
"matches": [
|
"matches": ["<all_urls>"],
|
||||||
"*://*.mozilla.org/*"
|
"js": ["content_script.js"]
|
||||||
],
|
|
||||||
"js": [
|
|
||||||
"content_script.js"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"browser_action": {
|
"browser_action": {
|
||||||
@ -23,7 +19,7 @@
|
|||||||
"default_popup": "browserAction/index.html",
|
"default_popup": "browserAction/index.html",
|
||||||
"default_title": "Deezer Tooter"
|
"default_title": "Deezer Tooter"
|
||||||
},
|
},
|
||||||
"options_ui": {
|
"permissions" : [
|
||||||
"page": "options/index.html"
|
"activeTab"
|
||||||
}
|
]
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user