Cannot access javascript variables, even using streamlit_javascript

I am trying to access a global javascript variable. But nothing seems to allow me to get access, even using ‘streamlit_javascript’. See a simple example below:


mport streamlit as st

from streamlit_javascript import st_javascript

js_functions = """<script>

var my_var1 = 1;

window.my_var2 = 2;

globalThis.my_var3 = 3;

</script>

"""

st.components.v1.html(js_functions)

st.write("A test")

return_value1a = st_javascript("my_var1")

return_value1b = st_javascript("window.my_var1")

return_value2 = st_javascript("window.my_var2")

return_value3 = st_javascript("globalThis.my_var3")

return_value4 = st_javascript("(function() {return window.parent.document.my_var3;})()")

return_value5 = st_javascript("(function() {return window.my_var3;})()")

st.write(f"my_var1a = {return_value1a}") # '=ReferenceError: Can't find variable: my_var1'

st.write(f"my_var1b = {return_value1b}") # '=0'

st.write(f"my_var2 = {return_value2}") # '=0'

st.write(f"my_var3 = {return_value3}") # '=0'

st.write(f"my_var4 = {return_value4}") # '=0'

st.write(f"my_var5 = {return_value5}") # '=0'

Any ideas?