对应的程序包: https://github.com/mozilla-mobile/firefox-ios/archive/AuroraV1.zip
替换 系统本身的 长按超链接或图片等事件
//增加 UIGestureRecognizerDelegate 代理 因为要给 view 添加 长按事件 class ViewController:AAAA,UIGestureRecognizerDelegate{ //让 添加 的 长按事件 与 webView 的长按事件 并存,不添加不会触发 addGestureRecognizer 的长按 func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldRecognizeSimultaneouslyWith otherGestureRecognizer: UIGestureRecognizer) -> Bool { return true; } //避免 绑定的长按事件 触发webView 里的超链接 被触发 func gestureRecognizer(_ gestureRecognizer: UIGestureRecognizer, shouldBeRequiredToFailBy otherGestureRecognizer: UIGestureRecognizer) -> Bool { return true; } //长按后触发的方法 //原理是, 获取长按坐标 对应的 html 标签 ,然后 获取这个html标签的完整html代码 func longPressWeb(sender:UILongPressGestureRecognizer){ if(sender.state != .began){return;} let touchPoint = sender.location(in: webList[webCrt]); var htmlStr:NSString = NSString.init(format: "document.elementFromPoint(%f,%f).outerHTML", touchPoint.x,touchPoint.y) print("htmlStr:"+(htmlStr as String)) self.webList[webCrt].evaluateJavaScript(htmlStr as String, completionHandler: { (result, error) in if result != nil { print("yes has"); print(result); } else { print("no hasnot"); //self.webDoSome.logoBigSave(img_src: "", host: (self.webList[webCrt].url?.host)!); } }) } //\\ override func viewDidLoad() { //添加自定义长按事件 , 这里是添加给了 WKWebView 的父级,也可以直接添加给self.view let long = UILongPressGestureRecognizer(target: self, action: #selector(longPressWeb)); long.delegate = self webBox.addGestureRecognizer(long) // } //在webView 加载完后 注入JS 方法 屏蔽 系统的长按方法 //建议在 webView 加载的过程中也 注入该 JS 方法, 避免在未加载完时也可调用系统的长按 func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) { //屏蔽用户选择文字 //webList[webCrt].evaluateJavaScript("document.body.style.webkitUserSelect='none';", completionHandler: nil) //屏蔽长按 webList[webCrt].evaluateJavaScript("document.body.style.webkitTouchCallout='none';", completionHandler: nil) // } }
相关推荐
在iOS应用开发中,Swift语言为我们提供了强大的框架和工具,其中WKWebView是苹果推荐用于加载网页内容和实现原生应用与HTML5(H5)页面交互的重要组件。本知识点主要聚焦于如何使用Swift对WKWebView进行封装,以及...
"swift-基于WKWebView控件上跨平台框架"是一个专注于利用WKWebView实现跨平台功能的项目,旨在提升移动应用的性能和用户体验。WKWebView是苹果在iOS 8及更高版本中引入的一个重要组件,它替代了旧有的UIWebView,为...
func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) { if navigationAction.request.url?.isFileURL ?...
在iOS应用开发中,使用Swift语言进行Web内容展示时,我们常常会遇到WKWebView与cookie管理的问题。WKWebView是Apple推荐用来替代UIWebView的新一代网页视图组件,它提供了更好的性能和安全性。然而,与传统的...
WHC_Model iOS平台高效转换引擎json->model,model->json,model->Dictionary,支持模型类继承其他模型类,支持指定路径转换,不区分json的key和模型属性名称大小写,自动处理json中null。
在Swift编程语言中,获取设备的经纬度是常见的地理定位任务,这主要涉及到CoreLocation框架。CoreLocation框架提供了一系列API,用于获取用户的地理位置信息。在iOS应用开发中,使用CoreLocation可以帮助开发者创建...
在iOS应用开发中,Swift语言提供了WKWebView组件,它是苹果推荐用来替代UIWebView的现代Web内容展示工具。WKWebView不仅性能更优,还支持最新的Web标准和技术,如HTML5、CSS3和JavaScript。本篇文章将深入讲解如何...
"Swift -> YSocket 新建 TCP 客户端"这个标题暗示我们将会探讨一个名为YSocket的库,它可能是用Swift实现的一个轻量级TCP客户端库。这个库可能提供了方便的方法来创建、管理和操作TCP连接。让我们深入探讨一下相关的...
只需在HTML中插入GIF图片的`<img>`标签即可: ```html <img src="path_to_your.gif" alt="GIF animation"> ``` 确保GIF文件已包含在你的应用资源中,并使用正确的URL路径引用它。 然而,对于WebP格式的无损图片,...
iOS UICollectionView UICollectionViewCell long press to drag the reorder framework(支付宝我的应用编辑,今日头条我的频道编辑)
Swift-WKWebView(本地数据)源码解析与应用 Swift-WKWebView是Apple在其iOS和macOS平台上提供的一款用于在应用程序内嵌入Web内容的框架。WKWebView是WebKit框架的一部分,取代了旧的UIWebView,提供了更高效、性能更...
Yahoo为了帮助开发者更方便地进行这种迁移,开源了一个在线工具——"swift-Yahoo开源的在线obj-c->swift工具"。这个工具允许开发者直接将Objective-C代码粘贴到网页中,然后自动生成对应的Swift代码。这大大简化了...
"pw-swift-core-SRU2017-7.9.3" 是一个开源的第三方Java库,专门设计用于解析和处理银行间的SWIFT报文。这个库的主要功能是为开发者提供工具,以便他们能够有效地封装和解析SWIFT标准化的金融通信格式。SWIFT(环球...
) -> Bool { // 实现开始拖动的逻辑 } override func continueTracking(with touch: UITouch, with event: UIEvent?) -> Bool { // 实现拖动过程中的逻辑,如更新cell的位置 return true } ``` 此外,还需要在`...
Swift-WKWebView是苹果开发的一款用于在iOS和macOS应用中展示网页内容的高级框架,它是基于WebKit引擎的。WKWebView不仅提供了比旧版UIWebView更高效、更现代的渲染性能,还支持更多的API功能,使得开发者能更好地...
Swift-Radio-Pro是一款基于Swift 2.0编程语言开发的开源应用程序,专为iOS平台设计。这个项目提供了从头到尾构建一个功能完备的音乐电台应用的实例,对于学习Swift编程语言以及移动应用开发的开发者来说,是一个极其...
Swift-WKWebView是一个基于WebKit框架的网页浏览解决方案,它提供了在iOS和macOS应用中内嵌网页内容的能力,而无需依赖任何第三方插件。WebKit是苹果公司的开源浏览器引擎,广泛用于Safari和其他苹果平台的应用程序...
`swift-syntax`是Apple官方为Swift语言提供的一种工具,它是一个纯Swift编写的库,专注于Swift代码的语法解析、转换和生成。这个库的开源对于开发者,特别是那些对编译器技术、代码生成或语言工具感兴趣的开发者来说...
1. **WKWebView 的引入**:Swift 5.0 中引入 WKWebView,它是WebKit框架的一部分,用于在iOS和macOS应用中显示Web内容。WKWebView不仅能够加载HTML页面,还支持JavaScript执行、CSS样式控制、表单交互等功能。 2. *...
let htmlString = "<html><body><h1>Hello, WKWebView!</h1></body></html>" webView.loadHTMLString(htmlString, baseURL: nil) ``` 或者 ```swift let url = URL(string: "https://www.example.com")! ...