【问题标题】:Swift 4 WebKit webView does not load URL with added parameterSwift 4 WebKit webView 不加载带有添加参数的 URL
【发布时间】:2018-05-05 13:16:16
【问题描述】:

只是无法找出这个webView 有什么问题,它只是保持空白没有错误。如果我尝试不使用视频 id 参数而只使用“https://www.apple.com”,它就可以工作。有什么想法吗?

import UIKit
import WebKit

class VideoPlayerVC: UIViewController, WKUIDelegate {

    @IBOutlet weak var webview2: WKWebView!
    var videoId: String?

    override func viewDidLoad() {
      //test video id, this prints the booty workouts id on youtube!This target also opens on youtube the id on the end of this url: https://www.youtube.com/watch?v=695PN9xaEhs
        if let videoId = videoId {
            print(videoId)
        }

        webview2.load(URLRequest(url: URL(fileURLWithPath: "https://www.youtube.com/watch?v=\(videoId)")))
    }
}

【问题讨论】:

  • 你的视频 ID 是什么
  • 我认为,您没有获得视频 ID
  • 是的,我打印了它,它给出了正确的值。检查代码中的评论视频ID是:695PN9xaEhs
  • @PatrikRikama-Hinnenberg 你必须!它将作为 Optional("695PN9xaEhs") 附加在视频 url 中,创建字符串 url 然后在将其传递到 URL 之前打印它
  • @Sh_Khan 是的,现在我看到它打印了可选的!唔。如何在再次使用之前保存解包的值?

标签: swift webview webkit


【解决方案1】:

您的 id 工作正常:

override func viewDidLoad() {
    super.viewDidLoad()
    let webView = WKWebView(frame: CGRect(x: 0, y: 0, width: self.view.frame.size.width, height: self.view.frame.size.height))
    self.view.addSubview(webView)
    let url = URL(string: "https://www.youtube.com/watch?v=695PN9xaEhs")
    webView.load(URLRequest(url: url!))
}

【讨论】:

  • 谢谢,是的,它可以工作,但不能使用添加的参数。看起来我们很近但仍然很远=)你们是对的,它仍然是似乎是可选的视频 ID。如何将未包装的 id 保存到新变量并在附加请求中使用它@Sh_Khan
  • 我在前一个控制器中有一个 tableview 和从该控制器提供的 videoId。用户选择视频,这就是为什么需要并在此 VideoPlayerViewController 中创建 ID 并将其附加到基本 URL:youtube.com/watch?v=\
  • 是的! @JogendarChoudhary 这也适用于参数!谢谢!
  • 为此投了票,但看起来我的声誉不佳并不影响投票答案!
【解决方案2】:

在我的例子中,我试图加载一个 HTTP 站点而不是 HTTPS。 最初它没有加载任何内容,但当我使用 HTTPS 时,网站按预期加载。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多