美文网首页iOS
iOS 替换WebView网页图片为本地图片

iOS 替换WebView网页图片为本地图片

作者: 887d1fc86fe6 | 来源:发表于2018-07-13 13:56 被阅读30次

    UIWebView WKWebView 都可以适用。

    // MARK: UIWebViewDelegate
    func webViewDidFinishLoad(_ webView: UIWebView) {
            
         // 本地图片二进制
         let imegData:Data = UIImagePNGRepresentation(CW_PI_KTT_420_220_BG!)!
              
         // 转换 
         let imageSource:String = String.init(format: "data:image/jpg;base64,%@", imegData.base64EncodedString(options: .endLineWithLineFeed))
              
         // 获取所有的IMG标签或者IMAGE标签 进行替换  
         webView.stringByEvaluatingJavaScript(from: "var imgs = document.getElementsByTagName('img'); for (var i = 0; i < imgs.length; i++) { imgs[i].src = '\(imageSource)'; }")     
    }
    

    如果需要拦截网页里面所有图片信息,需要重写URLProtocol,在 NSURLSessionDataDelegate 中拦截文件Head判断 Content-Type 是否为图片格式 "image/jpeg","image/gif","image/png"... 注意: WKWebView不支持拦截Head

    相关文章

      网友评论

        本文标题:iOS 替换WebView网页图片为本地图片

        本文链接:https://www.haomeiwen.com/subject/mupjpftx.html