Read the statement by Michael Teeuw here.
Help with inserting a script into a <div> element
-
@adambd
There are several ways to insert script after loading. Here are examples;//insert before other scripts var tag = document.createElement("script") tag.src = "EXTERNAL_SCRIPT_URL" var firstScriptTag = document.getElementsByTagName("script")[0] firstScriptTag.parentNode.insertBefore(tag, firstScriptTag)
//insert after other scripts var tag = document.createElement("script"); tag.src = "EXTERNAL_SCRIPT_URL"; document.getElementsByTagName("head")[0].appendChild(tag);
Or, You can make a HTML file which contains the target widget, and load it with iFrame.
-
Hi Sean, thanks for answering!
tag.src = “EXTERNAL_SCRIPT_URL”;
What should this point to? A local file on my machine?
-
@adambd EXTERNAL url = “https://some_server_com/etc/whatever.js”
-
@sdetweil Hey sean, But then I need to have a ‘server’ running to pull this in. I would prefer just to keep it in another node file in the project. any thoughts on how to do that?
-
@adambd
How about trying this?
[card:eouia/MMM-Widget] -
@adambd if you look at the MMM_ImagedPhotos and MMM_ImageSlideshow modules, you will see they map a url for the express server running in MM
extraRoutes: function() { var self = this; this.expressApp.get("/MMM-ImagesPhotos/photos", function(req, res) { self.getPhotosImages(req, res); }); this.expressApp.use("/MMM-ImagesPhotos/photo", express.static(self.path_images)); }, // return photos-images by response in JSON format. getPhotosImages: function(req, res) { directoryImages = this.path_images; var imagesPhotos = this.getImages(this.getFiles(directoryImages)).map(function (img) { return {url: "/MMM-ImagesPhotos/photo/" + img}; }) res.send(imagesPhotos); },
-
element.innerHTML = `<div> ENTER HTML CODE </div>`
you have to have the ` before and after the div indicators
the key to the left of the 1 key
-
@sean
You could not have made it any easier. Fantastic idea, sean!
-
@sean
The only problem with this widget module… It doesn’t allow clickable links to be clicked…
Otherwise, It’s pretty cool! :smiling_face_with_sunglasses: -
@justjim1220 said in Help with inserting a script into a <div> element:
It doesn’t allow clickable links to be clicked…
Most people don’t use a mouse with their mirrors