从 WKWebView 打印按钮单击 [重复]

Posted

技术标签:

【中文标题】从 WKWebView 打印按钮单击 [重复]【英文标题】:Printing from WKWebView on button click [duplicate] 【发布时间】:2021-09-03 16:59:17 【问题描述】:

我在员工的后端登录中有一个打印配方 java 脚本功能。所以在普通浏览器中它调用打印窗口并且可以打印。

但在WKWebView 中它不起作用。我在论坛和苹果开发者文档上阅读并阅读了问题,但找不到解决方案。

那么我怎样才能从 swift 检测到网站上的打印按钮按下,并调用打印所需区域的函数?

我附上了我的代码和网站的屏幕截图。第一张图片是您在应用程序中登陆的网站,然后您必须登录,然后点击订单,然后点击打印。屏幕截图附在这一行中):

我的代码是:

import UIKit
import WebKit

class MitarbeiterViewController: UIViewController, WKUIDelegate,UIWebViewDelegate  
    
    var webView: WKWebView!
    
    override func loadView() 
       
        let webConfiguration = WKWebViewConfiguration()
        webView = WKWebView(frame: .zero, configuration: webConfiguration)
        
        webView.uiDelegate = self
        view = webView
    

    override func viewDidLoad() 
        super.viewDidLoad()
        
        let myURL = URL(string:"https://www.pizzeria-lo-straniero.de/mitarbeiterlogin")
        let myRequest = URLRequest(url: myURL!)
        webView.load(myRequest)    
    
    
    func printRecipeWebViewController()
        //MARK: - PRINT
            
        let webviewPrint = webView.viewPrintFormatter()
        let printInfo = UIPrintInfo(dictionary: nil)
        printInfo.jobName = "page"
        printInfo.outputType = .general
        let printController = UIPrintInteractionController.shared
        printController.printInfo = printInfo
        printController.showsNumberOfCopies = false
        printController.printFormatter = webviewPrint
        printController.present(animated: true, completionHandler: nil)           
    

【问题讨论】:

【参考方案1】:

您好,欢迎来到 ***, 您的要求当然是可能的,可以通过向 userContentController 注入脚本消息处理程序来完成。基本上你用一些 JS 注入你的 webview,这样你就可以监听某些动作,然后你可以在另一端执行所需的动作。这个详细的答案应该可以帮助您满足要求,请确保快速搜索以避免重复问题

https://***.com/a/62743190/9343566。 - 答案 1 https://***.com/a/62743190/9343566。 - 答案 2

【讨论】:

感谢您的快速回复。我已经阅读了这些问题,并在谷歌上搜索了很多关于我的问题的信息。但我不能从另一个代码转移到我的。我对这个话题还不够感兴趣。也许你对我有一个提示,我可以在哪里了解完整的 ukwebview ?您好,非常感谢您的回答

以上是关于从 WKWebView 打印按钮单击 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

WKWebView - 获取html表单的查询参数

检测 WKWebView 中的非导航按钮单击

WKWebview 导航响应方法在单击 webview 中的完成按钮时不会被调用

登录 ios swift 后从 wkwebview 获取令牌

IOS - 第二次单击相同按钮时,WKWebview 在决定策略中获取空 url

如何从行中获取/打印值[重复]