2017-10-20 15 views
0

Dans un UIWebView je veux changerComment changer la valeur src dans 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> 

depuis que je veux que l'utilisateur soit présenté avec un bouton de lecture au lieu d'un bouton de pause car AutoPlay est pas autorisée sur iOS. Il sera plus naturel pour l'utilisateur de voir un bouton de lecture directement à la place du bouton de pause comme dans l'image ci-dessous.

Comment faire cela de façon simple? J'ai essayé quelques trucs comme

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

sans succès jusqu'à présent.

enter image description here

Répondre

1

Ici, je fait le code de démonstration difficile à résoudre votre problème. Mettez votre logique avec cela et cela résoudra votre problème. Il a été testé et semblait fonctionner parfaitement.

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

Merci beaucoup @ arunjos007! J'ai utilisé votre suggestion avec quelques modifications et s'est très bien passé! – MickeDG