国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > JS > 正文

JS交互點擊WKWebView中的圖片實現預覽效果

2024-05-06 16:41:48
字體:
來源:轉載
供稿:網友
  • Swift 4.0
  • WKWebView

1.注入js代碼 (重點)

func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {  let jsGetImages =    "function getImages(){" +    "var objs = document.getElementsByTagName(/"img/");" +    "var imgScr = '';" +    "for(var i=0;i<objs.length;i++){" +    "imgScr = imgScr + objs[i].src + '+';" +    "};" +    "return imgScr;" +    "};"  webView.evaluateJavaScript(jsGetImages, completionHandler: nil)  webView.evaluateJavaScript("getImages()") { (data, err) in    let imageUrl:String = data as! String    var urlArry = imageUrl.components(separatedBy: "+")    urlArry.removeLast()    self.imgUrlArray.addObjects(from: urlArry)    for url in self.imgUrlArray{      let photo = SKPhoto.photoWithImageURL(url as! String)      photo.shouldCachePhotoURLImage = false // you can use image cache by true(NSCache)      self.images.append(photo)    }  }  var jsClickImage:String  jsClickImage =     "function registerImageClickAction(){" +    "var imgs=document.getElementsByTagName('img');" +    "var length=imgs.length;" +    "for(var i=0;i<length;i++){" +    "img=imgs[i];" +    "img.onclick=function(){" +    "window.location.href='image-preview:'+this.src}" +    "}" +    "}"  webView.evaluateJavaScript(jsClickImage, completionHandler: nil)  webView.evaluateJavaScript("registerImageClickAction()", completionHandler: nil)}

2.使用SKPhotoBrowser框架實現圖片預覽功能

func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {  let requestString = navigationAction.request.url?.absoluteString  print(requestString!)  if (requestString?.hasPrefix("image-preview"))!{    let imgUrl = NSString.init(string: requestString!).substring(from: "image-preview:".count )    let index = imgUrlArray.index(of: imgUrl)    let browser = SKPhotoBrowser(photos: images)    browser.initializePageIndex(index)    present(browser, animated: true, completion: {})  }  decisionHandler(.allow) //一定要加上這句話 }

總結

以上所述是小編給大家介紹的JS交互點擊WKWebView中的圖片實現預覽效果,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 汽车| 磴口县| 南开区| 太原市| 东城区| 林甸县| 灌云县| 海城市| 星子县| 眉山市| 芜湖县| 曲阜市| 上虞市| 惠东县| 宁都县| 乐亭县| 容城县| 旺苍县| 和林格尔县| 龙山县| 虞城县| 公安县| 七台河市| 肥城市| 密山市| 麻栗坡县| 尚义县| 治多县| 卢氏县| 隆尧县| 宁远县| 如东县| 黄石市| 神木县| 金坛市| 外汇| 南华县| 久治县| 同心县| 呼伦贝尔市| 耿马|