在 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.href
或 window.location.search
检索此参数
我正在开发一个应用程序,它对某些页面使用本机 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.href
或 window.location.search