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

首頁 > 語言 > JavaScript > 正文

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

2024-05-06 15:22:54
字體:
供稿:網(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ì)錯(cuò)新站長(zhǎng)站網(wǎng)站的支持!

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

主站蜘蛛池模板: 内丘县| 巴青县| 万盛区| 甘孜县| 南通市| 英超| 巴林左旗| 新民市| 阜阳市| 仁化县| 松溪县| 博罗县| 灵丘县| 潜山县| 芮城县| 长宁区| 都安| 安溪县| 仙桃市| 张北县| 桑日县| 潍坊市| 博客| 静安区| 黄冈市| 阳原县| 云和县| 精河县| 枞阳县| 鄂州市| 武平县| 兴安盟| 广平县| 太谷县| 新宾| 遵义县| 通化市| 汉川市| 乐陵市| 长宁县| 吴堡县|