如何让输入文件在 WKWebView 中工作?
How can you get input file to work in a WKWebView?
当您在 OSX 应用程序中使用 WKWebView 时,当您按下 <input type="file">
按钮时,您无法 select 从硬盘中获取文件。您将如何启用此功能?
我听说你通常使用:
func webView(sender: WebView!, runOpenPanelForFileButtonWithResultListener resultListener: WebOpenPanelResultListener!)
它是 WebUIDelegate
的一部分,但即使您设置 self.webView.UIDelegate = self
它也不会被触发。
这是 WKWebView 中的一个已知错误。
这是 WKWebview "File Upload" 问题的 100% 工作解决方案。
您只需要实现 UIDelegate:
- (void)webView:(WKWebView *)webView runOpenPanelWithParameters:(WKOpenPanelParameters *)parameters initiatedByFrame:(WKFrameInfo *)frame completionHandler:(void (^)(NSArray<NSURL *> *URLs))completionHandler;
关注此 link 以获取有关此委托的更多说明:
RunOpenPanel Delegate
当您在 OSX 应用程序中使用 WKWebView 时,当您按下 <input type="file">
按钮时,您无法 select 从硬盘中获取文件。您将如何启用此功能?
我听说你通常使用:
func webView(sender: WebView!, runOpenPanelForFileButtonWithResultListener resultListener: WebOpenPanelResultListener!)
它是 WebUIDelegate
的一部分,但即使您设置 self.webView.UIDelegate = self
它也不会被触发。
这是 WKWebView 中的一个已知错误。
这是 WKWebview "File Upload" 问题的 100% 工作解决方案。
您只需要实现 UIDelegate:
- (void)webView:(WKWebView *)webView runOpenPanelWithParameters:(WKOpenPanelParameters *)parameters initiatedByFrame:(WKFrameInfo *)frame completionHandler:(void (^)(NSArray<NSURL *> *URLs))completionHandler;
关注此 link 以获取有关此委托的更多说明: RunOpenPanel Delegate