首页 > 解决方案 > 将变量公开给 javascript 上下文 (Java / WebView)

问题描述

我想向全局 javascript 上下文公开一个变量(一个值)。我不想公开一个接口。我不想暴露功能。我想在 javascript 的全局上下文中公开一个值,这意味着该值应该可以使用window.my_value;.

我尝试覆盖该onPageFinished方法并运行evaluateJavascript,但这似乎触发了我的应用程序读取值的方式为时已晚(在设置变量时,我的应用程序已经在运行并且已经读取了 的undefinedmy_value)。

有没有一种方法可以在加载任何其他 JS 之前尽快将我的变量以某种方式注入到我正在加载的页面中?

标签: javascriptjavaandroidandroid-webview

解决方案


很简单

<script type="text/javascript">
    a = 100;
</script>

<script type="text/javascript">
    alert(a);
    // rest of your javascript code
</script>

没有必要将它们放在单独的脚本标签中,但出于演示目的,我将保留它们。

除非您的问题缺少一些重要信息,否则这相当简单。正如您所说,您希望在运行任何其他 javascript 之前设置它。因此,要实现这一点,请在运行任何其他 javascript 之前设置全局变量。


推荐阅读