java - 允许在 Android webview 中导航
问题描述
我正在创建一个应用程序,我在 webview 中打开一个网站。
所以这个网站是关于预订一种服务的。网站上有几个步骤。
首先用户可以选择预订什么样的服务,然后用户点击“继续”按钮。但问题是,当用户点击按钮时,网站刚刚被重新加载,这意味着我们没有被导航到下一步。
我需要在代码中更改什么吗?
因此,一旦用户单击按钮,我想导航到 web 视图中的下一个“步骤”。但取而代之的是,网站刚刚重新加载,所有数据都“丢失”了。
public void webView(){
WebView webview = view.findViewById(R.id.service_webview);
WebSettings settings = webview.getSettings();
settings.setJavaScriptEnabled(true);
webview.loadUrl("https://www.HIDDENURL.com/book/choose-service");
}
我允许Javascript。但是我还需要添加什么来实现这一点吗?
笔记!我不拥有该网站,所以我无法更改任何内容。笔记!当我点击“继续”时,另一个页面正在“打开”一毫秒,然后自动关闭并重新开始。
解决方案
问题在于您网站中的 Ajax 调用将加载页面中的特定部分,您还必须启用 DomStorage 才能实现此目的。
public void webView(){
WebView webview = view.findViewById(R.id.service_webview);
WebSettings settings = webview.getSettings();
settings.setJavaScriptEnabled(true);
settings.setDomStorageEnabled(true);
webview.loadUrl("https://www.HIDDENURL.com/book/choose-service");
}
推荐阅读
- spring-cloud - 在 Spring Sleuth 中使用现有值设置 traceId
- python - 如何将元组作为关键字参数传递 (kwarg)
- javascript - android webview 不支持异步 js 功能
- python - 基于类的上下文管理器与基于生成器的上下文管理器
- c# - NServiceBus:延迟处理所有传入消息
- regex - Angular 6 电子邮件正则表达式
- reactjs - 如何开玩笑地模拟 window.alert 方法?
- windows - 使用 cmd 打开带有特定程序的文件
- java - 如何将服务类中的“dispatchTouchEvent”用于当前活动?
- ios - Xamarin Picker View 无效选择 iOS 12