https://perchance.org/auto-vs-reload-bug-3489734953#edit
It seems if “auto” is activated, it does not fully refresh the page. So things like this, where it adds a DOM element just add more and more DOM elements as changes are made. With the test link above, with auto on change the CSS to background-color
instead of color
. A new style element will be added to the preview, meaning the body now has color:red
and background-color:red
. When it should only have the latest styles.
This happens even if there’s some flag like .has_css_injected
and skips making the style element next time the function is called. As in, it seems the list is rebuilt and a new object is now running, but the page is not rebuilt (properly) and old stuff hangs around in there.
Could possibly be only the <head>
that is not properly auto-refreshed, I haven’t done extensive testing.
If “auto” is off and “refresh” is clicked, only the one style element is present and only the latest styles are properly applied, as expected.
If you have the
auto
ticked. Yes, the page isn’t totally refreshed, like a page reload, it just updates it i.e. gets the changes from the editors, then re-runs the Perchance code.I’m not fully sure how it works. So, pinging Dev for some clarification.
When you check the
document.head
(viaconsole.log
or just normal inspect) where you append the styles when onauto
, you can see the styles that were added. Since the other<styles>
still have thebackground-color
even if it has been removed from the code, it would still apply its styles.When you click the
refresh
button next to theauto
checkbox, then, the page is fully refreshed. Meaning, it would reset all changes on the dom, then apply the new changes from the code.