Streamlit-js-eval not executing javascript code

Hi all,

As per Force Reload of Webpage, I’m trying to refresh/reload my page calling the snippet after st.button(): streamlit_js_eval(js_expressions="parent.window.location.reload()"). However, it fails to do so and all of my previous my session_state + widget inputs still remain. I could’ve sworn this worked when I first tried it out, but I’m not sure if its because of the version of streamlit (v1.26.0) and streamlit-js-eval (0.1.5) I’m using in my environment.

Hi @pr00001, st.rerun should do instead, provided your page is in a function.

Cheers

Hi Shawn,

Oddly enough, the session_state variables don’t clear even after using st.rerun

That is expected. st.rerun does programatically the same than selecting ā€œRerunā€ in the hamburger menu, it reruns the script within the same session. Indeed very different from the browser reloading the page, that starts a new session. For that you do need JS.

Unfortunately I don’t know how to fix yous JS issue.