iOS   发布时间:2022-05-04  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在iOS上的Cordova App中的iframe Youtube视频不再工作了大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我的Cordova应用程序曾经能够将Youtube视频插入到页面中,并使用以下代码在iOS上使用iframe播放它们: // youtube source URL var src = 'https://www.youtube.com/embed/<VIDEOID>?autoplay=1&rel=0'; // iframe for everybody else var element = 'ifr
我的Cordova应用程序曾经能够将Youtube视频插入到页面中,并使用以下代码在iOS上使用iframe播放它们:

// 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 );

它仍然可以在Windows中使用X-ms-webview元素而不是iframe.

有时,我不知道什么时候,这停止了工作,它只是显示iframe所在的白框.我在Safari中检查了它,iframe正在插入,但Youtube的iframed页面是空白的.

不再需要Cordova的白名单插件,但我尝试添加它没有任何运气.

我还验证了我有以下按键影响plist中的媒体播放设置:

OpenAllWhitelistuRLsInWebView = YES
MediaPlayBACkrequiresUserAction = NO
AllowInlineMediaPlayBACk = YES

我也把它作为我的config.xml中的首选项,如下所示:

<preference name="MediaPlayBACkrequiresUserAction" value="false" />
<preference name="AllowInlineMediaPlayBACk" value="true" />

此外,我尝试在Youtube视频网址中添加其他参数,以尝试查看是否可以执行任何操作:

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

现在要修复我已经恢复使用InAppBrowser插件的问题,但我真的想使用iframe.

解决方法

似乎Cordova中的iframe需要在config.xml中设置allow-navigation标志.例如.:

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

大佬总结

以上是大佬教程为你收集整理的在iOS上的Cordova App中的iframe Youtube视频不再工作了全部内容,希望文章能够帮你解决在iOS上的Cordova App中的iframe Youtube视频不再工作了所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。