practical-cl-beautified/js/background.js
Valentin Boettcher 10bff13c6d Initial Commit
2019-01-01 20:10:17 +01:00

36 lines
913 B
JavaScript

function fetchChapters() {
return browser.storage.local.get('chapters').then(chapters => {
if(chapters.hasOwnProperty('chapters'))
return Promise.resolve(chapters.chapters);
return fetch("http://www.gigamonkeys.com/book/index.html").then(function(response) {
return response.text().then(text => {
const regex = /li><a\shref='(.*?)'>(.*?)</gm;
let chapters = [];
let m;
do {
m = regex.exec(text);
if (m) {
console.log(m[1], m[2]);
chapters.push({
url: m[1],
name: m[2]
});
}
} while (m);
browser.storage.local.set({'chapters': chapters});
return chapters;
});
});});
}
function handleMessage(message, sender, respond) {
if (message.msg == "getChapters") {
fetchChapters().then(chapters => respond(chapters)).catch(() => {
respond();
});
return true;
}
}
browser.runtime.onMessage.addListener(handleMessage);