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

首頁 > 編程 > JavaScript > 正文

JS交互點(diǎn)擊WKWebView中的圖片實(shí)現(xiàn)預(yù)覽效果

2019-11-19 14:35:45
字體:
供稿:網(wǎng)友
  • Swift 4.0
  • WKWebView

1.注入js代碼 (重點(diǎn))

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框架實(shí)現(xiàn)圖片預(yù)覽功能

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) //一定要加上這句話 }

總結(jié)

以上所述是小編給大家介紹的JS交互點(diǎn)擊WKWebView中的圖片實(shí)現(xiàn)預(yù)覽效果,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)武林網(wǎng)網(wǎng)站的支持!

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 吉林市| 丹东市| 三台县| 清涧县| 炉霍县| 新宾| 突泉县| 溧阳市| 南城县| 栖霞市| 太湖县| 宜宾市| 方山县| 玉龙| 德保县| 涪陵区| 兴山县| 武山县| 松阳县| 沧源| 荣成市| 墨玉县| 古交市| 大洼县| 利川市| 竹山县| 吴旗县| 桃江县| 景东| 北辰区| 阿巴嘎旗| 邯郸县| 兴城市| 连平县| 巴马| 北票市| 通道| 三亚市| 嘉鱼县| 奈曼旗| 巨鹿县|