如何更改 UIWebView 中的 src 值?

How to change src value in UIWebView?

我想在 UIWebview 中更改

<iframe src=“//player.vimeo.com/video/164231311?autoplay=1” width=“700" height=“394” frameborder=“0" webkitallowfullscreen=“” mozallowfullscreen=“” allowfullscreen=“”></iframe>

<iframe src=“//player.vimeo.com/video/164231311" width=“700” height=“394" frameborder=“0” webkitallowfullscreen=“” mozallowfullscreen=“” allowfullscreen=“”></iframe>

因为 iOS 不允许自动播放,所以我希望向用户显示播放按钮而不是暂停按钮。用户直接看到播放按钮而不是下图中的暂停按钮会更自然。

如何以简单的方式做到这一点?我试过一些东西,比如

webView.stringByEvaluatingJavaScript(from:“document.getElementsByTagName(…) 

到目前为止还没有成功。

这里我做了粗略的demo代码来解决你的问题。把你的逻辑放在一起,它会解决你的问题。 它已经过测试,似乎运行良好。

import UIKit

class ViewController: UIViewController,UIWebViewDelegate {

    @IBOutlet weak var webView: UIWebView!
    override func viewDidLoad() {
        super.viewDidLoad()
        webView.delegate = self
        webView.loadRequest(URLRequest(url: URL(string: "file:///Users/user/Downloads/index.html")!))
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

    func webViewDidFinishLoad(_ webView: UIWebView) {
        // get your current iframe src value
        let iframeSrcValue:String = webView.stringByEvaluatingJavaScript(from: "document.getElementsByTagName('iframe')[0].src")!

        // Here is your current value with AutoPlay
        print(iframeSrcValue)

        //Create new URL without Auto Play
        let modifiedSrcValue = "https://www.youtube.com/embed/td8pYyuCIIs"

        // Apply it to webview
        let evaluate: String = "document.getElementsByTagName('iframe')[0].src='\(modifiedSrcValue)';"
        webView.stringByEvaluatingJavaScript(from: evaluate)
    }

}