Maison  >  Article  >  interface Web  >  ionic 手机端如何嵌入视频iframe_html/css_WEB-ITnose

ionic 手机端如何嵌入视频iframe_html/css_WEB-ITnose

WBOY
WBOYoriginal
2016-06-24 11:33:221602parcourir

 

需求说明:后台提供功能,可以通过富文本编辑器【summernote】上传优酷的视频链接地址(这里需要注意:优酷视频提供多种操作方式 下面截图说明,先做个标记);

    客户端是通过ionic开发的;而上传的视频查看后台源码;其实是一段iframe 嵌入代码;问题在于ionic+angularJs怎么把这个html代码解析出来放到客户端呢?

先上第一张参考图:

此图出处:http://www.thinksaas.cn/group/topic/350702/

参考图二:

$scope.myURL = URL;页面:<iframe ng-src='{{myURL}}' class="width-100 height-100"></iframe>发现页面不能打开 <iframe> 中的内容。现在将 controller 中改写如下 即可:$scope.myURL = $sce.trustAsResourceUrl(URL); //URL 为全链接($sce.trustAsResourceUrl("http://" + url))trustAsResourceUrl 是 Angularjs 中防止用户注入 URL 的方法。

 

图二出处:

其实有了这两个参考 原本说来问题应该可以解决了【ionic 支持 iframe 视频嵌入】 不过lz在操作中遇到的问题还不止这些 砸门继续往下看

首先我们来看看优酷视频有哪些方式

这里有三种形式 另外如果你直接放入http://v.youku.com/v_show/id_XOTY0MzgwODgw.html?from=s1.8-1-1.2#paction这个地址——对应富文本编辑器的操作是放入这个视频的打开地址  ;感觉是否有点绕 先不要着急 lz也是这么一步一步绕过来的;为何先展示上面的那块截图:

<iframe height=498 width=510 src="http://player.youku.com/embed/XOTY0MzgwODgw" frameborder=0 allowfullscreen></iframe>

其实最后富文本解析出来的是上面这段 iframe  好 终于来到主题的地方了;

var strstart=myString.indexOf("<iframe")-1; var strend=myString.indexOf("</iframe>")-2; var ss = myString.substr(strstart, strend); var str = ss.split(" "); var url = str[1].replace('src="//',""); console.log(url); $scope.myVideoUrl = $sce.trustAsResourceUrl("http://"+url.substr(0,url.length-1)); console.log($scope.myVideoUrl); $scope.detailContent = $scope.ReservedStytl(myString.replace(myString.substr(strstart,strend),"")); console.log($scope.detailContent);

 

<iframe ng-src="{{myVideoUrl}}" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen="" width="100%" frameborder="0" height="100%"></iframe>

 

如有更好的方式解决 欢迎大家楼下留言讨论!共同进步!

 

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn