从 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 导航响应方法在单击 webview 中的完成按钮时不会被调用
登录 ios swift 后从 wkwebview 获取令牌