Android webview “location.replace” 不起作用

js解决方法:

function locationReplace(url){
  if(history.replaceState){
    history.replaceState(null, document.title, url);
    history.go(0);//当你想返回对应的层级界面  这里的0 可以调整 如 -1 
  }else{
     location.replace(url);
  }
}

出处是stackoverflow,其他方法还有就是原生客户端的解决方法,地址:https://stackoverflow.com/questions/14333620/android-webview-location-replace-doesnt-work

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果在 Android WebView 中加载 index.html 文件时出现缓存找不到的问题,可能有以下几种原因和解决方法: 1. 确保 index.html 文件已经被正确地缓存到了设备的缓存目录中。你可以检查缓存目录是否存在该文件。 2. 如果使用了 AppCache,确保 manifest.appcache 文件中已经正确地列出了 index.html 文件。检查 manifest.appcache 文件的路径和内容是否正确。 3. 确保在加载 index.html 文件之前,WebView 的缓存模式已经正确设置。可以使用 `setCacheMode` 方法将缓存模式设置为 `LOAD_CACHE_ELSE_NETWORK`,以确保优先加载缓存。 ```java webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); ``` 4. 如果 index.html 文件位于 assets 目录下,而不是设备的缓存目录中,你需要使用 `loadUrl` 方法加载 assets 文件。示例代码如下: ```java webView.loadUrl("file:///android_asset/index.html"); ``` 5. 如果 index.html 文件位于设备的缓存目录中,你需要构建正确的文件路径并使用 `loadUrl` 方法加载该文件。示例代码如下: ```java String cachePath = getApplicationContext().getCacheDir().getAbsolutePath(); String indexPath = "file://" + cachePath + "/index.html"; webView.loadUrl(indexPath); ``` 通过以上方法,你可以检查并确保正确地加载和缓存 index.html 文件。如果问题仍然存在,请检查文件路径和缓存操作是否正确,并确保文件在指定的位置可访问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值