gpt4 book ai didi

javascript - 在android webview中拦截request多个http请求

转载 作者:太空宇宙 更新时间:2023-11-04 02:58:43 27 4
gpt4 key购买 nike

拦截在 webview 应用程序中添加的多个 css。

    mWebView.setWebViewClient(new WebViewClient() {
@Override
public WebResourceResponse shouldInterceptRequest(final WebView view, String url) {
if (url.contains(".css")) {
return getCssWebResourceResponseFromAsset();
} else {
return super.shouldInterceptRequest(view, url);
}
}


private WebResourceResponse getUtf8EncodedCssWebResourceResponse(InputStream data) {
return new WebResourceResponse("text/css", "UTF-8", data);
}
private WebResourceResponse getCssWebResourceResponseFromAsset() {
try {
return getUtf8EncodedCssWebResourceResponse(getAssets().open("css/"));
} catch (IOException e) {
return null;
}
}
}

我得到“css/”文件夹中的所有文件。它只获取单个文件只获取不​​获取多个css 文件获取...

如何让多个css文件get in webview intercept & "js"how to get...

最佳答案

mWebView.setWebViewClient(new WebViewClient() {

@Override
public WebResourceResponse shouldInterceptRequest (final WebView view, String url) {
List myArrayList = new ArrayList();
myArrayList.add("jquery.mobile-menu.css");
myArrayList.add("jquery.validate.css");
myArrayList.add("responsive.css");
myArrayList.add("Style.css");
for (Object str : myArrayList) {
if (url.contains((CharSequence) str)) {
try {
return getUtf8EncodedCssWebResourceResponse(getAssets().open(String.valueOf("css/" + str)));
} catch (IOException e) {
e.printStackTrace();
}
}
}
List newArray = new ArrayList();
newArray.add("20px.png");newArray.add("30px.png");newArray.add("30px-01.png");newArray.add("30px-02.png");
newArray.add("30px-03.png");newArray.add("30px-04.png");newArray.add("30px-05.png");newArray.add("30px-06.png");
newArray.add("35px.png");newArray.add("arrow.png");newArray.add("arrow1.png");newArray.add("bank.png");
newArray.add("cam.png");newArray.add("dex.png");newArray.add("footer-kk.png");newArray.add("logo1.png");
newArray.add("load.png");newArray.add("logo2.png");newArray.add("logo2@2x.png");newArray.add("logo3.png");
newArray.add("logo3@2x.png");newArray.add("logo-ico.png");newArray.add("logo-ico@2x.png");newArray.add("msf-ico.png");
newArray.add("option-ico.png");newArray.add("option-ico1.png");newArray.add("profile-nav.png");newArray.add("profile-pic-1.png");
newArray.add("profile-pic-2.png");newArray.add("reg-nav-act.png");newArray.add("reg-nav-bg.png");newArray.add("reg-nav-dot.png");
newArray.add("shadow.png");newArray.add("tick.png");newArray.add("tick1.png");newArray.add("view-pro-line.png");
for (Object image : newArray) {
if (url.contains((CharSequence) image)) {
try {
return getimageWebResource(getAssets().open(String.valueOf("images/" + image)));
} catch (IOException e) {
e.printStackTrace();
}
}
}
List jsArray = new ArrayList();
jsArray.add("jquery.validate.js");
jsArray.add("jquery-1.3.2.jpg");
newArray.add("mc_reg.js");
newArray.add("html5shiv.min.js");
newArray.add("jquery.min.js");
newArray.add("jquery.mobile-menu.js");
newArray.add("jquery.mobile-menu.min.js");
newArray.add("respond.min.js");
for (Object js : jsArray) {
if (url.contains((CharSequence) js)) {
try {
return getJsWebResourceResponse(getAssets().open(String.valueOf("js/" + js)));
} catch (IOException e) {
e.printStackTrace();
}
}
}
return null;
}
private WebResourceResponse getUtf8EncodedCssWebResourceResponse(InputStream data) {
return new WebResourceResponse("text/css", "UTF-8", data);
}
private WebResourceResponse getJsWebResourceResponse(InputStream data) {
return new WebResourceResponse("text/javascript", "UTF-8", data);
}
private WebResourceResponse getimageWebResource(InputStream data) {
return new WebResourceResponse("image/png", "UTF-8", data);
}
public void onPageStarted(WebView view, String url, Bitmap favicon) {
super.onPageStarted(view, url, favicon);
findViewById(R.id.progressBar).setVisibility(View.VISIBLE);
}

public void onReceivedError(WebView view, int errorCode, String description, String failingUrl) {
mWebView.loadUrl("file:///android_asset/webpages.html");
}

@Override
public void onPageFinished(WebView view, String url) {
findViewById(R.id.progressBar).setVisibility(View.GONE);
}

});

关于javascript - 在android webview中拦截request多个http请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31691270/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com