【问题标题】:Capturing video url WKWebView捕获视频 url WKWebView
【发布时间】:2016-06-29 15:37:45
【问题描述】:

您好,我从 WKWebView 快速打开一个视频,它会自动打开此视频页面,无论如何我捕获视频链接并使用此视频的 url?

【问题讨论】:

  • 你能以任何方式从 webview 获取视频 url 吗?

标签: swift swift2 wkwebview


【解决方案1】:

你应该实现委托WKNavigationDelegate并定义函数decisionPolicyForNavigationAction,例如:

class ViewController: UIViewController, WKNavigationDelegate {
...

override func viewWillAppear(animated: Bool) {
    super.viewWillAppear(animated)
    webView = WKWebView(frame: CGRect(x: 0, y: 50, width: 100, height: 100))
    webView.navigationDelegate = self
    webView.loadRequest(NSURLRequest(URL: NSURL(string: "https://www.example.com")!))
    view.addSubview(webView)
}

func webView(webView: WKWebView, decidePolicyForNavigationAction navigationAction: WKNavigationAction, decisionHandler: (WKNavigationActionPolicy) -> Void) {
    let path = navigationAction.request.URL?.absoluteString
    if let path = path {
        if path.rangeOfString("mp4") != nil {
            // This is video link, don't let iOS open video
            decisionHandler(.Cancel)
            print("Process video \(path)")
            return
        }
    }
    // Any other link should be handled by WKWebView
    decisionHandler(.Allow)
}

检测视频链接路径中是否有mp4或您希望检测的其他扩展名或路径,然后自行处理。

【讨论】:

  • 网站正在使用他们自己的视频播放器,所以如果我不按全屏,我可以在小屏幕上观看你给我的功能不起作用抱歉
  • 在webview点击下载按钮时使用,如何在WKWebView中检测播放器中播放的视频。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-01-18
  • 2019-08-18
  • 1970-01-01
  • 2016-01-09
  • 1970-01-01
相关资源
最近更新 更多