Read the statement by Michael Teeuw here.
Does anyone know how to make the iFrame module refresh periodically?
-
-
So would I put that code in the iFrame module that I downloaded or in my config.txt. Sorry I’ve barely programmed anything and yesterday was the first time I’ve ever used JavaScript
-
whats the iframe mod you downloaded ?
-
-
on the config part I believe its just the URL. But on the iframe.js file, i think extra code would needed to be added.
/* global Module */ /* Magic Mirror * Module: iFrame * * By Ben Williams http://desertblade.com * MIT Licensed. */ Module.register("iFrame",{ // Default module config. defaults: { height:"300px", width:"100%" }, // Override dom generator. getDom: function() { var iframe = document.createElement("IFRAME"); iframe.style = "border:0" iframe.width = this.config.width; iframe.height = this.config.height; iframe.src = this.config.url; return iframe; window.setInterval("reloadIFrame();", 30000); function reloadIFrame() { document.frames["frameNameHere"].location.reload(); } } }); -
Thank you for taking the time to help! Although, I put this into the module code and still no updates after letting it sit for 15 minutes. I also put the
-
@PeppaPigKilla
Sorry the forum seems to be overloaded. I put this in my code and still no refreshing. I believe the problem is my iFrame does not have a specified name. I am only able to input the scr=“URL”. Not sure where to put iframe name = “name”. When generating an iFrame from google sheets it does not specify a name either. -
I tried it and cant get it to work either. best reaching out to the author,
-
@PeppaPigKilla the code that was added by you is after the return, so the code will never be reached.
I suggest an interval which calls
updateDom, which will be created after theDOM_OBJECTS_CREATEDbroadcast -
Thanks for the suggestion. I wouldn’t know where to start with that though. I tried this module which did not work refresh for me either.
-
@cnelso24 the problem is probably that there isnt a change detected when updating the dom, try to add a timestamp attribute to the iframe.
-
I have found a fix for this module which I posted here:
https://github.com/TheBogueRat/MMM-iFrameReload/issues/2
Kev
-
Thank you!! I will check it out when I get home.
-
Just got a chance to try this. Works like a charm! Thank you!
-
@kevsfastz is it possible to show simple html content and update periodically?
-
@fox
The simple answer is yes it is possible. What is your goal specifically? -
Many thanks, I have bee looking for a way to do this for some time. I loaded iFrameReload with the following url. It will load, but not update. Any suggestions as to what I am missing?
url: “http://tides.tidegraph.com/api/tidegraph.php?bg=black&scale=.8&station=Old Frenchtown Wharf, Elk River, Maryland”,
Many thanks
-
As mentioned above, I have provided a fix or adjustment by adjusting the MMM-IframeReload.js below:
-
My mistake, I thought this was updated in the .git. I added the timestamp as you suggested (iframe.src = this.config.url + new Date().getTime();). The url does update now, but since the url displays the tides at a location embedded in the url, it looks like the timestamp is appended to the location. With this added, it is not a valid location and the tides don’t display.
Again, many thanks for your help.
-
I see what you mean with the URL, any variables you add at the end even a ? will result in displaying all zeros on the output. You can get around this by using a site such asTHIS to refresh this URL for you instead of using iFrame to call a refresh. Of course all these sites will have advertisments which you do not want displayed on your mirror… so what you COULD do is reposition the iframe so the advertisment is hidden in one of the top corners. For example you can add margins with negative values to the iframe style:
iframe.style = “border:0;margin-bottom:-110px;margin-left:-10px;;width:500px;height:450px;filter:invert(100%);”
Of course this is not the best nor the most clean solution… maybe someone else has some ideas?
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login