zoukankan      html  css  js  c++  java
  • ionic 手机端如何嵌入视频iframe

    需求说明:后台提供功能,可以通过富文本编辑器【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 的方法。
    View Code

    图二出处:http://my.oschina.net/jack088/blog/390976?p=1

    其实有了这两个参考 原本说来问题应该可以解决了【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);
    View Code
    <iframe ng-src="{{myVideoUrl}}" webkitallowfullscreen="" mozallowfullscreen="" allowfullscreen="" width="100%" frameborder="0" height="100%"></iframe>

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

    一些相关的扩展:

     Q||A:应该判断加载不,如果点了播放再加载 
     
     Q;额 这里感觉有点绕 我说一下 因为产品的视频一般不会放到自己服务器 然后是加载的优酷的视频地址 然后这里载入进来后默认是没有播放的 当用户点击播放才会播放视频 和你说的有点出入 ?怎么控制它呢? 
     
    Q&A:优酷是点了菜加载
  • 相关阅读:
    微软职位内部推荐-SENIOR DEVELOPMENT LEAD
    微软职位内部推荐-SENIOR SDE
    微软职位内部推荐-Software Development Engineer 2
    微软职位内部推荐-SENIOR PRODUCER
    微软职位内部推荐-Senior Data Scientist
    微软职位内部推荐-Data Scientist
    微软职位内部推荐-Sr Development Lead-OSG-IPX
    类和对象
    Netty线程模型
    sbit命令行中运行scala脚本
  • 原文地址:https://www.cnblogs.com/zxyun/p/4976895.html
Copyright © 2011-2022 走看看