如何在WebView加载资源(例如图片、CSS文件)前进行判断,然后不让它去加载而是替换成本地的资源文件?下面的代码可以监听到WebView正在加载的资源URL:
WebView.setWebViewClient( 
    new WebViewClient()
    {
        public void onLoadResource( android.webkit.WebView view, java.lang.String url )
        {
            //在这里可以监听到要加载的资源URL      
        }
    }
);

解决方案 »

  1.   

    本地的url你是知道的,因为你可以获取到,直接在onLoadResource这里对比一下,然后去loadUrl调用本地的url显示就行
      

  2.   

    这个好像比较难了,看看WebView 里边有没有相应的方法了。
      

  3.   


    是的,我是通过onLoadResource里的url来本地找对应的localUrl,但这些URL有可能是Image或css的,用loadUrl应该不能加载吧?
      

  4.   

    load是直接显示对应的url,图片应该没问题,css就不知道支不支持了,你可以先试试,不行再想别的办法
      

  5.   

    public void onLoadResource(WebView view, String url) 里是可以捕捉到要下载的资源,比如图片.
    但似乎改变参数url的值,并不能改变WebView的行为,它仍然去加载未改变之前的url的资源。
    我在想,是因为传来的这个参数只是一个引用,即使我改变了它(url="file:///sdcard/test.jpg"),但并没有改变实际的值?这是个什么原理?
    API上说,这个url是WebView 即将要加载的的资源的地址啊!
    public void onLoadResource (WebView view, String url)
    Since: API Level 1
    Notify the host application that the WebView will load the resource specified by the given url.
    Parameters
    view The WebView that is initiating the callback.
    url  The url of the resource the WebView will load. 
      

  6.   

    以前看过这方面的讨论对方给出的答案是:开个socket监听端口比如8080,然后通过http://127.0.0.1:8080访问资源就行了,应该有现成的例子,直接拿来改造一下。===
    个人博客:www.girlcoding.com
      

  7.   

    你好开个socket监听端口是 这个论坛在哪儿啊?
      

  8.   

    hi all 有人解决这个问题吗?
      

  9.   

    楼主这个问题解决了么。求方法,怎么才能禁用一个http请求呢?