我有一个WKWebView,用于打开以文本格式显示的Google文档。我尝试将视图中的文本复制为代码字符串。
我使用了自定义的UIMenJAuItem“Parse”,当选中时,选择整个文本并将其复制到剪贴板。但问题是第一次无法加载剪贴板中的文本。
我还尝试在屏幕上评估Java脚本,但由于Apple的内容安全性,这种方法不起作用。
是否有任何方法可以实现结果?
以下是我的尝试,但都不成功。
我使用了自定义的UIMenJAuItem“Parse”,当选中时,选择整个文本并将其复制到剪贴板。但问题是第一次无法加载剪贴板中的文本。
我还尝试在屏幕上评估Java脚本,但由于Apple的内容安全性,这种方法不起作用。
是否有任何方法可以实现结果?
以下是我的尝试,但都不成功。
//Thorugh web view
extension ViewController:WKNavigationDelegate{
func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
webView.evaluateJavaScript("document.body.innerText") { (doc, error) in
if doc != nil
{print(doc!)}
if let e = error
{print(e.localizedDescription)}
}
}
func webView(_ webView: WKWebView, decidePolicyFor navigationResponse: WKNavigationResponse, decisionHandler: @escaping (WKNavigationResponsePolicy) -> Swift.Void){
return decisionHandler(.allow)
}
}
使用UIMenuItem
override func viewDidLoad() {
let menuItem = UIMenuItem(title: "Parse", action: #selector(ViewController.parse(_:)))
UIMenuController.shared.menuItems = [menuItem]
}
@objc func parse(_ sender:UIMenuItem){
webView.selectAll(sender)
self.webView.copy(UIApplication.shared)
print(UIPasteboard.general.string!)
}