更新 Chrome v77 时无法在 WebView 中打开 mht 文件



我无法在WebView中打开mht文件。 在Chrome v76之前它工作正常,但是v77出现读取错误

如果 chrome 返回到 v76,则读取成功。 文件:///也不起作用。 使用 loadDataWithBaseURL 加载也不起作用

webview.loadUrl("file://{$context.cacheDir}/file.mht")

cid:帧 - "随机字符串" @ mhtml.blink 网 :: ERR_UNKNOWN_URL_SHCEME

很抱歉我的回答晚了,因为我遇到了同样的问题,我昨天正在寻找解决方案,今天我像下面这样解决它。

在你的Java类中,你必须给出下面的代码

webView.setWebViewClient(new WebViewClient() {
@Override
public void onLoadResource(WebView view, String url) {
super.onLoadResource(view, url);
if (one_time==1)//one_time is only a variable because i want
// to run view.loadUrl(url); only one time.
view.loadUrl(url);
one_time++;
}
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
return true;
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
}
@Override
public void onPageFinished(WebView view, final String url) {
}
});

我想你在给

view.loadUrl(url);

在下面的方法

@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
// view.loadUrl(url); like this
// you will need this when you will load the url but in case 
//of mht page it will not work 
return true;
}

如果您正在加载 MHT 页面,请不要这样做,因为

shouldOverrideUrlLoading(WebView view, String url){...}

加载 URL,它也会在您首次打开 Web 视图活动时运行。

所以

onLoadResource(WebView view, String url){...}

方法加载资源。

最新更新