Read the statement by Michael Teeuw here.
MMM-EmbedURL with MMM-Pages - Website reload....
-
I have MMM-pages (@sdetweil 's version) and MMM-EmbedURL (@wishmaster270) - working together on my system. Evertthing is great, EXCEPT this code below.
What happens is that the website at my docker is loading, then it stops itself and reloads - blanking the screen area for 2-3 seconds while it thinks about it. Unfortunately, even though it’s a docker container and I have “Full control” – it is a very rudimentary program - and the web API is weak at best (Thus the turning off of the time stamp, etc)
What’s going on here? Is there anything I can do to keep it from blanking and restarting (I think when it’s hidden it’s paused?)
If it helps, the page is this program -> https://www.clearskyinstitute.com/ham/HamClock/ - you can look around for suggestions.
Thanks.
{ module: "MMM-pages", config: { modules: [ ["page1"], ["page2"], ["page3"], ], animationTime: 2000, rotationTime: 10000, } }, { module: "MMM-EmbedURL", position: "top_right", classes: "page2", config: { updateInterval: 3600, animationSpeed: 0, appendTimestamp: false, embed: [ "http://docker.local:8081/live.html", ], }, },
(any malformed JS above is a paste error, it is correct in code)
-
@sdetweil
Hi Sam,you are right. But i do not want the content to be fixed as some users want the content to be recreated after the configured interval.
I just released a new version 0.0.8 of the module which introduces a
updateDomOnShow
option. If the option is set tofalse
the module uses the old html elements after a resume. Maybe this fixes the issue. -
@BKeyport embedurl doesn’t support the show/hide functions so it COULD be loading at the time it is shown
It should pause while hidden, resume when shown
How long does the page take to load?
-
It shows, then resets, takes 2-3 seconds to show back up, then runs normally. The problem is that it’s just annoying to have it flash in and then blank, then come up and run.
-
@BKeyport not sure @wishmaster270 got any ideas?
Looks like you are creating new elements on each getDom(). the resume () will cause a getDom() which will cause the page reload in the new iframe object
-
@sdetweil Hi, the module calls the updateDom function every time it gets resumed in the current implementation.
I am not sure if I can implemt a block option to skip the update dom but reset the timer for the regular updates.
-
@wishmaster270 you could make the content you return fixed …
getDom(){ if(!this.already_created){ build content this.already_created=new content } return this.already_created }
I do this in a few modules to reduce/eliminate the flash
nothing says you HAVE to CREATE the content on each getDom()
just have to return somethingso minor change… no logic change
-
@sdetweil
Hi Sam,you are right. But i do not want the content to be fixed as some users want the content to be recreated after the configured interval.
I just released a new version 0.0.8 of the module which introduces a
updateDomOnShow
option. If the option is set tofalse
the module uses the old html elements after a resume. Maybe this fixes the issue. -
@wishmaster270 thanks… I didn’t know if the iframe would reload itself on show
@BKeyport give this a try
-
Tom, is it updateDomOnShow or updateDomOnResume ?
Documentation shows the latter.
-
I put them both in, and that fixed it - thanks, Tom.
-