javascript - 将变量公开给 javascript 上下文 (Java / WebView)
问题描述
我想向全局 javascript 上下文公开一个变量(一个值)。我不想公开一个接口。我不想暴露功能。我想在 javascript 的全局上下文中公开一个值,这意味着该值应该可以使用window.my_value;
.
我尝试覆盖该onPageFinished
方法并运行evaluateJavascript
,但这似乎触发了我的应用程序读取值的方式为时已晚(在设置变量时,我的应用程序已经在运行并且已经读取了 的undefined
值my_value
)。
有没有一种方法可以在加载任何其他 JS 之前尽快将我的变量以某种方式注入到我正在加载的页面中?
解决方案
很简单
<script type="text/javascript">
a = 100;
</script>
<script type="text/javascript">
alert(a);
// rest of your javascript code
</script>
没有必要将它们放在单独的脚本标签中,但出于演示目的,我将保留它们。
除非您的问题缺少一些重要信息,否则这相当简单。正如您所说,您希望在运行任何其他 javascript 之前设置它。因此,要实现这一点,请在运行任何其他 javascript 之前设置全局变量。
推荐阅读
- reactjs - 尝试重新加载应用程序时在heroku上反应问题,白屏
- gitlab - 从模板创建存储库时更改文件 - Gitlab
- java - 如何获取对 Application 类不可见的模块中的上下文?
- ruby-on-rails - Rspec请求测试文件上传失败,真实API请求有效
- javascript - 如何更新输入值并发送到 Request Laravel?
- quickfix - QuickFIX/n 错误:标签出现多次(字段=523)
- javascript - 如何在 ReactJS 中制作一个可重用的下拉过滤器,它是 DRY 并且可以在同一个组件中使用两次
- reactjs - Dropzone ui包,图片预览不出现
- mysql - 创建空间索引执行时返回错误
- python - read_html 没有从表中找到所有行