【发布时间】:2016-06-29 15:37:45
【问题描述】:
【问题讨论】:
-
你能以任何方式从 webview 获取视频 url 吗?
【问题讨论】:
你应该实现委托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或您希望检测的其他扩展名或路径,然后自行处理。
【讨论】: