我正在用Webview开发UI,准备打包为子程序
想问一下如果我想在Webview中访问父程序变量,比较推荐的做法是什么?
目前webview内似乎没法访问主程序里的变量。只能传递到子程序,如果要修改,再输出到主程序了。
我想用$quickerSync.getVar()来动态获得Quicker变量的值,但并不能确定主程序里的变量名。
我在想能不能把_context传进子程序来实现这一点(?)
有没有方法从_context中提取当前上下文中所有变量的值(最好还能有变量类型信息)呢?如果可以的话我可以选择传一个包含所有变量名和值的字典进webview
js里没有办法使用c#的类型,所以目前要使用bridge对象封装变量的访问。目前的版本没有开放_context,等开一下试试看了。
有什么办法可以列出当前_context下的所有变量名吗?
表达式编辑窗口里在后面_context后面打个点.后面就能显示能用的方法列表,可以找一下有没有你需要的
应该是没有方法的。这些数据本身保存在一个词典中,如果需要动态保存这样的数据,最好弄一个词典类型的变量。
感谢建议,我现在通过向子程序传入_context和并在子程序内通过_context.GetVariables()转JSON实现了子程序webview读取主程序变量。
好的,忘了还有这个方法😂
测试了一下,可以通过传递向子程序传递_context为动态对象的方式在子程序访问主程序变量
虽然从安全性和完整性的角度考虑的话这么做并不妥当,但是如果只是读取变量的话应该不会出什么问题
相关动作:多字段表单(Webview2)示例