【问题标题】:How can you get input file to work in a WKWebView?如何让输入文件在 WKWebView 中工作?
【发布时间】:2016-01-08 16:00:12
【问题描述】:

当您在 OSX 应用程序中有 WKWebView 时,当您按下 <input type="file"> 按钮时,您无法从硬盘中选择文件。您将如何启用此功能?

我听说你通常使用:

func webView(sender: WebView!, runOpenPanelForFileButtonWithResultListener resultListener: WebOpenPanelResultListener!)

这是WebUIDelegate 的一部分,但即使您设置了self.webView.UIDelegate = self,它也不会被触发。

【问题讨论】:

    标签: macos swift file input wkwebview


    【解决方案1】:

    这是 WKWebview “文件上传”问题的 100% 工作解决方案。

    你只需要实现UIDelegate:

    - (void)webView:(WKWebView *)webView runOpenPanelWithParameters:(WKOpenPanelParameters *)parameters initiatedByFrame:(WKFrameInfo *)frame completionHandler:(void (^)(NSArray<NSURL *> *URLs))completionHandler;
    

    点击此链接了解有关此委托的更多说明: RunOpenPanel Delegate

    【讨论】:

    • 这个委托方法似乎不再可用。
    • 刚才我检查了链接,它是可用的。注意:- 这是针对 OSX 的。
    • 啊,难过...那么 iOS 的解决方案是什么?
    • @HarishPathak 你找到解决这个问题的方法了吗?
    • @ahmedShoeib 没有解决方案,通过 POST API 完成,使用自定义 javascript 调用。
    【解决方案2】:

    这是 WKWebView 中的一个已知错误。

    https://bugs.webkit.org/show_bug.cgi?id=137759

    【讨论】:

    • 感谢您的回答,非常感谢。
    猜你喜欢
    • 2013-08-04
    • 2018-03-13
    • 1970-01-01
    • 2011-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多