在 Web 视图中加载网页,并在该网页上使用一些预初始化数据

Load a web page in web view with some pre-initialize data on that web page

我正在开发一个应用程序,它对某些页面使用本机 android 和 webview。就像登录是本地的,但用户配置文件是在 webview 中。 网页的设计方式是,如果会话 ID 和其他信息可用,会话存储、cookie 或 javascript 变量,它将无缝工作。

如果我使用本机登录并将该会话 ID 传递给网页 javascript 变量,一切都会按预期工作。但是我不确定我能不能做到。

有什么方法可以在加载页面之前初始化 javascript 变量吗? 或者对我的情况有更好的解决方案吗?

如果我理解你是对的,你需要在 WebView 中 运行 自定义 javascript
为此:

webView.loadUrl("javascript: toBeCalledFromAndroid('test')");

您可以在 URL 中将数据作为 GET 参数传递,然后使用 JavaScript 获取这些参数。

页面加载后,使用您刚从 URL 获得的参数预填充必要的字段。

例如,假设页面中有两个输入字段需要填写 id username & email,您可以将 webview URL 设置为 http://mypagedomain.com?username=awesome&email=awesome@mail.com

然后您可以在页面加载时使用 JavaScript 来利用 window.location.hrefwindow.location.search

检索此参数