mirror of
https://github.com/mdn/webextensions-examples.git
synced 2026-04-16 06:18:35 +02:00
38 lines
975 B
JavaScript
38 lines
975 B
JavaScript
/*
|
|
beastify():
|
|
* removes every node in the document.body,
|
|
* then inserts the chosen beast
|
|
* then removes itself as a listener
|
|
*/
|
|
function beastify(request, sender, sendResponse) {
|
|
removeEverything();
|
|
insertBeast(request.beastURL);
|
|
browser.runtime.onMessage.removeListener(beastify);
|
|
}
|
|
|
|
/*
|
|
Remove every node under document.body
|
|
*/
|
|
function removeEverything() {
|
|
while (document.body.firstChild) {
|
|
document.body.firstChild.remove();
|
|
}
|
|
}
|
|
|
|
/*
|
|
Given a URL to a beast image, create and style an IMG node pointing to
|
|
that image, then insert the node into the document.
|
|
*/
|
|
function insertBeast(beastURL) {
|
|
var beastImage = document.createElement("img");
|
|
beastImage.setAttribute("src", beastURL);
|
|
beastImage.setAttribute("style", "width: 100vw");
|
|
beastImage.setAttribute("style", "height: 100vh");
|
|
document.body.appendChild(beastImage);
|
|
}
|
|
|
|
/*
|
|
Assign beastify() as a listener for messages from the extension.
|
|
*/
|
|
browser.runtime.onMessage.addListener(beastify);
|