2017-10-20 94 views
0

在一個UIWebView我想改變如何更改UIWebView中的src值?

<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(…) 

目前爲止沒有成功。

enter image description here

回答

1

這裏我做了粗略的演示代碼來解決您的問題。把你的邏輯與它,它會解決你的問題。它已經過測試,看起來完美無缺。

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) 
    } 

} 
+0

非常感謝@ arunjos007!我用你的建議進行了一些修改,並且做得很好! – MickeDG