84 lines
1.8 KiB
JavaScript
84 lines
1.8 KiB
JavaScript
let backgroundPage = browser.extension.getBackgroundPage();
|
|
//let tab;
|
|
const pass_data = {urls:"urls",tab:"tab_id"}
|
|
|
|
readUrl();
|
|
//on addon click load extension page
|
|
//
|
|
function Setup(data)
|
|
{
|
|
let promise;
|
|
browser.browserAction.onClicked.addListener(() => {
|
|
|
|
promise = browser.tabs.create({"url": "home.html"},function(tab){
|
|
|
|
browser.runtime.onMessage.addListener(()=>{
|
|
run(data,tab);
|
|
console.log("pass tab data to run, in promise");
|
|
console.log(tab);
|
|
});
|
|
});
|
|
|
|
|
|
});
|
|
|
|
}
|
|
|
|
function failure(value)
|
|
{
|
|
console.log("tabs.create returned a failure");
|
|
}
|
|
|
|
async function run(data,tab)
|
|
{
|
|
let i2=0;
|
|
// injectScript(tab);
|
|
await browser.scripting.executeScript({
|
|
target:{
|
|
tabId: tab.id
|
|
},
|
|
files:["spawn.js"]
|
|
});
|
|
console.log("bbackground.js: received start signal...");
|
|
if(i2 == 0)
|
|
{
|
|
browser.runtime.sendMessage({state: "Init",url: data.subscriptions[0].url});
|
|
}
|
|
else
|
|
{
|
|
browser.runtime.sendMessage({state: i2,url: data.subscriptions[i2].url});
|
|
}
|
|
i2++;
|
|
}
|
|
|
|
function readUrl()
|
|
{
|
|
let data;
|
|
const filePath = "newpipe_subscriptions_202403101004.json";
|
|
var localURL = browser.extension.getURL(filePath);
|
|
fetch(localURL).then((res) => {
|
|
if(!res.ok){
|
|
throw new Error
|
|
(`res error`);
|
|
}
|
|
return res.json();
|
|
})
|
|
.then((data) => {
|
|
for(let i=0;i<i;i++) //i in data.subscriptions)
|
|
{
|
|
let open=null;
|
|
console.log(data.subscriptions[i].url);
|
|
try{
|
|
open = alert(data.subscriptions[i].url,"_blank");
|
|
}
|
|
catch(e) {InsertError(e.description);}
|
|
}
|
|
console.log(data);
|
|
Setup(data);
|
|
})
|
|
.catch((error)=> console.error("couldnt fetch data",error));
|
|
|
|
|
|
}
|
|
|