Android:Webview进入页面一直显示加载中或者显示空白的原因

如果setDomStorageEnabled(false)是fals情况下改为 setDomStorageEnabled(true)

还有一种是需要设置 settings.setJavaScriptEnabled(true);

文心一言对setDomStorageEnabled(false)时的解释:

settings.setDomStorageEnabled(boolean) 方法用于启用或禁用 WebView 中的 DOM 存储功能。DOM 存储是一种在网页浏览器中存储数据的机制,通常通过 localStorage 和 sessionStorage 对象来实现。这些对象允许网页存储键值对,这些数据在用户关闭浏览器窗口或标签页后仍然保留(对于 localStorage),或者在会话期间保留(对于 sessionStorage)。

当你将 settings.setDomStorageEnabled 设置为 false 时,WebView 将不允许网页使用 DOM 存储功能。如果加载的网页依赖于 DOM 存储来保存状态或数据,并且该网页没有妥善处理当 DOM 存储不可用时的情况,那么它可能会遇到问题,并显示出“页面加载中”的状态,因为它在等待某些数据或状态被正确加载或恢复。

将 settings.setDomStorageEnabled 设置为 true 时,WebView 允许网页使用 DOM 存储,这通常意味着网页可以正常工作,因为它能够访问和使用所需的存储数据。

如果你的网页在禁用 DOM 存储时无法正常加载,这可能表明:

  1. 网页依赖DOM存储:该网页可能使用了 localStorage 或 sessionStorage 来保存关键数据或状态,这些数据对于页面的正确加载和显示是必要的。

  2. 错误处理不足:该网页的代码可能没有对 DOM 存储不可用的情况进行妥善处理。例如,它可能尝试从 localStorage 读取数据,但没有检查是否成功读取,或者在失败时没有提供备选的加载机制。

  3. 第三方脚本或库:加载的网页可能包含了第三方脚本或库,这些脚本或库依赖于 DOM 存储来工作。当 DOM 存储被禁用时,这些脚本或库可能无法正常工作,导致页面加载问题。

为了确保 WebView 中的网页能够正常加载和显示,你应该启用 DOM 存储,除非你有特定的安全或隐私原因需要禁用它。同时,如果可能的话,检查加载的网页的代码,确保它对 DOM 存储不可用的情况有适当的错误处理和备选方案。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值