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
网友评论