网站目录收录网站方式:1.人工手动审核。2.自助审核(你的网站在权重3、PR4以上,挂上本站友链->点击友链->自动审核通过。)
北京 天津 上海 广东 深圳 河北 河南 新疆 重庆 四川 贵州 湖南 湖北 云南 广西 宁夏 青海 甘肃 陕西
西藏 海南 山东 福建 安徽 浙江 吉林 山西 江西 江苏 辽宁 黑龙 内蒙 澳门 香港 台湾 日本 韩国 美国
当前位置:站长啦网站目录 » 新闻资讯 » 站长新闻 » 技术文档 » 文章详细 订阅RssFeed

[解决问题]安卓系统下iframe中video没有全屏按钮,视频不能全屏的解决方法

来源:video 浏览:9705次 时间:2018-01-15
简介:[解决问题]安卓系统下iframe中video没有全屏按钮,视频不能全屏的解决方法

[解决问题]安卓系统下iframe中video没有全屏按钮,视频不能全屏的解决方法

雨过天晴工作室最近在研究安卓APP封装手机电影网站,遇到一个问题

      通过ckplayer解析m3u8,安卓APP下播放只有音量按钮,没有全屏按钮,就是不能用全屏。那样手机APP看视频就没有任何意义了,经过多方测试后 可以直接调用<video controls="" src='.$url.' id=\"ckplayer_a1\" width=\"100%\" height=\"100%\" autoplay=\"autoplay\"></video >就可以支持m3u8的播放,不需要直接调用ckplayer。而且有全屏按钮。这个问题得以解决。

      还有一个情况是iframe下没有全屏,因为部分视频是通过解析才能观看的,比如优酷,需要用框架的形式去解析,这样在video在iframe下也是没有全屏按钮,经过《iframe中video没有全屏按钮》一文的启发,直接在框架里面加allowfullscreen="true" 就可以实现全屏按钮了,整个过程折腾了整整一天。最后的代码是< iframe src=http://api2.tv6.com/?id=http://v.youku.com/v_show/id_" . $url . ".html  scrolling=no marginheight=0  marginwidth=0 frameborder=0 height=\"100%\"  seamless  id=\"mainFrame\" width=\"100%\" allowfullscreen=\"true\"></iframe >

     另外,video这个在html5下只有一个标签 controls ,至于用法就很简单

定义和用法
controls 属性规定浏览器应该为视频提供播放控件。
如果设置了该属性,则规定不存在作者设置的脚本控件。
浏览器控件应该包括:
播放
暂停
定位
音量
全屏切换
字幕(如果可用)
音轨(如果可用)
HTML 4.01 与 HTML 5 之间的差异
controls 属性是 HTML 5 中的新属性。
语法
<video controls="controls" />

可以直接通过这个测试HTML 5 <video> controls 属性 点击就可以测试

还有一篇文章不错,也让我测试了不少时间:如何修改 video 样式

 

我们这里说的“修改 video 样式”并不是要自己实现一套 controls,而是尝试修改 video 的默认样式

隐藏全屏按钮

这个很容易查到

video::-webkit-media-controls-fullscreen-button{ display: none; }

那么,video::-webkit-media-controls 是什么?还可以用它来定义哪些元素的样式,见下文

自定义其它样式

为什么用一个 video 标签就可以播放视频呢,它内部是怎么实现的呢?

我们来看一下 video 的内部构造:

chrome 下,开发者工具 -&gt; setting -&gt; Preferences -&gt; Elements -&gt; 勾选 "Show user agent shadow DOM"

再回来看,已经可以看到 video 的内部结构了

瞄一眼,有没有看到很熟悉的 -webkit-media-controls-fullscreen-button ?

确实如此,其他的按钮,包括播放按钮、播放进度条、静音按钮、音量条等,都可以像全屏按钮一样自定义样式。不止是隐藏噢,其他的样式同样适用,比如。。

下载按钮

是不是感觉从此 video 尽在掌控,想让它啥样就啥样了?大部分情况下,确实如此。

然而,还有个不听讲的妖孽,就是下载按钮。尝试用 video::-internal-media-controls-download-button 定义隐藏,并不生效

怎么办?有两种方式:

1. controlsList

在 video 上加属性 controlsList="nodownload",就可以隐藏下载按钮。

就这么简单?当然不是。。。这种方式需要 Chrome 58+ 才支持,不能用于生产环境

2. overflow: hidden

video::-webkit-media-controls-enclosure{ overflow: hidden; }

video::-webkit-media-controls-panel{ width: calc(100% + 30px); }

就是将控制条面板设的长一些,超出的隐藏。。。这种方式还是勉强可以用于生产环境的,因为没有别的更好的办法。。。

参考

1. https://googlechrome.github.io/samples/media/controlslist.html HTMLMediaElement controlsList Sample

2. http://www.cnblogs.com/coco1s/p/5711795.html 神秘的 shadow-dom 浅析

3. http://www.cnblogs.com/kevinxue/p/6638733.html h5的video下载按钮如何隐藏

移动端环境险恶,上线前警惕自测!

 

还有一篇是直接加个按钮实现全屏的,这个也是不错的一个解决方法,

http://robnyman.github.io/fullscreen/

 

 

 

HTML内联框架元素 <iframe>

iframe默认不允许全屏, 如果内嵌了video那么控制条上将不显示全屏按钮, 通过添加allowfullscreen属性可以开启全屏功能.

mozallowfullscreen
使用allowfullscreen属性代替。在Gecko9.9及更高版本上,如果允许通过调用element.mozRequestFullScreen() 方法,设置frame为全屏模式,该属性被设置为true。如果该属性未被设置,iframe元素不能被设置为全屏模式。

webkitallowfullscreen
使用 allowfullscreen 属性代替。在Chrome 17及更高版本上(或者更早),如果允许通过调用element.webkitRequestFullScreen() 方法,设置iframe为全屏模式,该属性被设置为true,如果该属性未被设置,iframe元素不能被设置为全屏模式。

 

0

版权与免责声明:

凡注明稿件来源的内容均为转载稿或由网友用户注册发布,本网转载出于传递更多信息的目的;如转载稿涉及版权问题,请作者联系我们,同时对于用户评论等信息,本网并不意味着赞同其观点或证实其内容的真实性;


本文地址:https://top.cnzzla.com/artinfo/44631.html

好玩的手游下载

猜你喜欢

推荐站点

  • 福州小程序开发福州小程序开发

    福州好小蚁科技提供专业的微信小程序开发、软件定制、手机APP开发、网站开发等高端定制外包服务,价格美丽,服务周到.一对一项目对接,不满意退全款!预约电话:13107632710 胡小春!福州好小蚁科技有限公司是福建福州网站app等技术开发优秀网络公司。

    www.fzant.com
  • 世界时间网世界时间网

    世界时间网为您提供世界各地精准时间,北京时间校准器,标准时间,世界各地时间与北京时间对比,时间换算等,希望对您有所帮助。

    top.cnzzla.com/time
  • 科技镇科技镇

    科技镇 | 关注科技、娱乐、人文、生活!

    www.kejizhen.com
  • 心动网址导航心动网址导航

    心动网址导航精选了国内国外著名的网站、好玩的、好看的、有趣的国内国外网站以及实用的、优秀的国内国外网站,包括国外视频、国外购物、国外交友、国外新闻等多种类型 同时提供精品行业分类目录提交,让用户全方位了解国内国外互联网动态!

    xd00.com
  • 门户网址-优秀网站导航门户网址-优秀网站导航

    门户网址-优秀网站导航,精选网址导航,免费分类目录提交,实用酷站大全。

    top.mhwz.cn

最新优秀网站