簡體   English   中英

無法將文本從 WKWebview 復制到剪貼板

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM