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?