[英]Cannot copy text from WKWebview to clipboard
我有 WKWebview,它以文本格式打開一個谷歌文檔。 我試圖將視圖中的文本復制為我的代碼中的字符串
我使用了自定義 UIMenJAuItem“Parse”,選中后,選擇整個文本並將其復制到剪貼板。 但問題是剪貼板第一次無法加載文本。
我還在屏幕上嘗試了evaluateJava 腳本,但由於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!)
}
我已經解決了這個問題。
要將文本復制到剪貼板,您需要從視圖中卸載網頁。 即,只需應用全選,復制。 然后,如果您將新網頁加載到 webview,您可以在UIPasteBoard.general.string
復制文本
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.