javascript – 单击与Firefox的本机行为冲突的处理程序
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 单击与Firefox的本机行为冲突的处理程序,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1642字,纯文字阅读大概需要3分钟。
内容图文
![javascript – 单击与Firefox的本机行为冲突的处理程序](/upload/InfoBanner/zyjiaocheng/795/56a62ca1b11e472ba64ad21013a6e8b6.jpg)
我使用默认的HTML5视频播放器向我的网站添加了一个视频.代码是这样的:
<video width="100%" height="100%" controls>
<source src="http://media.sublimevideo.net/v/midnight-sun-short-edit-360p.mp4" type="video/mp4">
</video>
我想这样做就可以点击视频停止或启动视频.所以我补充说:
onclick="this.paused?this.play():this.pause();"
一切都很好.直到Firefox 35将这个功能添加到播放器.因此,现在您只能通过右键单击并选择播放来播放视频 – 普通的点击将首先通过本机行为播放视频,然后立即通过我的点击处理程序暂停播放.可怕.所以我想到了一个像这样的JavaScript函数:
function startstop() {
if ( FirefoxVersionNumber > 34 ) {
// do nothing
} else {
// start or stop video
}
}
我坚持的一点是如何检查浏览器版本?我试过的所有版本都返回了Firefox版本号为5 …我认为它来自Netscape部分.
解决方法:
您需要阻止click事件的默认行为,这与您自己使用JavaScript自行处理表单提交的默认行为非常相似.
Event.preventDefault是这项工作的工具.
做就是了
video.addEventListener('click', function (event) {
event.preventDefault(); // Prevent the default behaviour in Firefox
// Then toggle the video ourselves
if (this.paused) {
this.play();
}
else {
this.pause();
}
});
这是一个小提琴,适用于Chrome(在视频上没有内置的点击切换行为)和Firefox(至少在最近的版本中):http://jsfiddle.net/LjLgkk71/
顺便说一下,作为一般规则,你应该忘记浏览器嗅探,直到你真正完全耗尽所有其他途径(除了使用它解决旧浏览器中特定的已知怪癖和错误,与此后的行为有关)固定或标准化).您在问题中表达的想法,即不在某些浏览器版本上应用您的点击处理程序,是错误的;您无法知道(也不会)其他浏览器共享的内容,或者有一天会分享Firefox的行为.如果您采用了自己的方法,那么当其中一个主要浏览器遵循Firefox的示例或者您的某个用户尝试在Nintendo DS上使用您的网站时,它几乎不可避免地会再次咬你.
内容总结
以上是互联网集市为您收集整理的javascript – 单击与Firefox的本机行为冲突的处理程序全部内容,希望文章能够帮你解决javascript – 单击与Firefox的本机行为冲突的处理程序所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。