2016-04-21 6 views
3

Meine Cordova Anwendung der Lage sein zu können YouTube-Videos in die Seite einfügen und sie auf iOS einen Iframe mit dem folgenden Code:Iframe Youtube Video in Cordova App auf iOS funktioniert nicht mehr

// youtube source URL 
 
var src = 'https://www.youtube.com/embed/<VIDEOID>?autoplay=1&rel=0'; 
 

 
// iframe for everybody else 
 
var element = 'iframe'; 
 

 
// x-ms-webview for windows app 
 
if (UTIL.isWindows()) { 
 
    element = 'x-ms-webview'; 
 
} 
 

 

 
var $iframe = $(document.createElement(element)); 
 

 
$iframe.attr('id', 'streaming_video_player'); 
 
$iframe.attr('width', '400'); 
 
$iframe.attr('height', '300'); 
 
$iframe.attr('frameborder', '0'); 
 
$iframe.attr('allowfullscreen', 'allowfullscreen'); 
 
$iframe.attr('src', url); 
 

 
$('#video_container').html($iframe); 
 
\t \t \t \t

Es funktioniert immer noch in Windows x-ms-webview Element anstelle eines Iframes verwenden.

Irgendwann weiß ich nicht wann, das funktioniert nicht mehr und es zeigt einfach eine weiße Box, wo der Iframe ist. Ich habe es in Safari untersucht und der Iframe wird eingefügt, aber die iframed-Seite von Youtube ist leer.

Das Whitelist-Plugin für Cordova wird nicht mehr benötigt, aber ich habe es ohne Glück versucht.

ich auch festgestellt, dass ich die folgenden Tasten bewirken Medien-Wiedergabe-Set in dem plist habe:

OpenAllWhitelistURLsInWebView = YES 
MediaPlaybackRequiresUserAction = NO 
AllowInlineMediaPlayback = YES 

ich es auch als Präferenz wie so in meinem config.xml setzen:

<preference name="MediaPlaybackRequiresUserAction" value="false" /> 
<preference name="AllowInlineMediaPlayback" value="true" /> 

Darüber hinaus habe ich versucht, der Youtube-Video-URL zusätzliche Parameter hinzuzufügen, um zu überprüfen, ob das irgendwas bewirken würde:

html5=1 
html5=true 
A few others I saw scattered around the net 

Um das Problem jetzt zu beheben, habe ich wieder das InAppBrowser-Plugin verwendet, aber ich würde gerne den iframe verwenden.

Antwort

3

Es scheint, dass IFrames in Cordova das Flag allow-navigation in der Datei config.xml setzen müssen. Zum Beispiel:

<allow-navigation href="https://*youtube.com/*"/> 
+1

Ich werde es überprüfen und sehen, ob es für mich funktioniert. Vielen Dank. –

+0

Danke ... es hat mein Problem behoben ... – Ashokbharathi

Verwandte Themen