温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

使用JavaScript怎么实现一个WKWebView图片预览效果

发布时间:2021-03-02 15:20:40 来源:亿速云 阅读:191 作者:戴恩恩 栏目:web开发

这篇文章主要介绍了使用JavaScript怎么实现一个WKWebView图片预览效果,亿速云小编觉得不错,现在分享给大家,也给大家做个参考,一起跟随亿速云小编来看看吧!

Java可以用来干什么

Java主要应用于:1. web开发;2. Android开发;3. 客户端开发;4. 网页开发;5. 企业级应用开发;6. Java大数据开发;7.游戏开发等。

  • 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) //一定要加上这句话  }

以上就是亿速云小编为大家收集整理的使用JavaScript怎么实现一个WKWebView图片预览效果,如何觉得亿速云网站的内容还不错,欢迎将亿速云网站推荐给身边好友。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI