Video.js+移动设备上的谷歌IMA:'点击'导致错误的事件
Video.js + google IMA on mobile devices: 'tap' event causing errors
我正在尝试使用video.js
和谷歌的IMA插件[videojs-ima][1]
实现显示视频广告
在示例代码中有以下部分:
// Initialize the ad container when the video player is clicked, but only the
// first time it's clicked.
var startEvent = 'click';
if (navigator.userAgent.match(/iPhone/i) ||
navigator.userAgent.match(/iPad/i) ||
navigator.userAgent.match(/Android/i)) {
startEvent = 'tap';
}
但当移动设备上的startEvent
设置为tap
时,我会出现以下错误:
Uncaught TypeError: document.createTouch is not a function(anonymous function) @ ima3.js:252Ha @ ima3.js:9zm @ ima3.js:252h.Ld @ ima3.js:253Ze @ ima3.js:68h.dispatchEvent @ ima3.js:66im.w @ ima3.js:243We @ ima3.js:63Se @ ima3.js:64(anonymous function) @ ima3.js:62
ima3.js:252
Uncaught TypeError: Cannot read property 'apply' of undefined
当我用startEvent = 'tap'
评论完这条线时,我不再收到这些错误,但video.js
播放器的一些功能不起作用,即我无法通过点击视频区域来暂停视频(我需要点击暂停按钮,这在移动设备上很难)。
如何使此"点击"事件在移动设备上正常工作?
我已经更新了videojs ima github上的问题。也许我的解决方案对你来说是可以接受的。
主要问题是,当你点击"播放"按钮时,谷歌ima videojs插件创建的div"ima广告容器"位于videojs播放器上方。
所以我对iPhone设备进行了检测:
jQuery
if (navigator.userAgent.match(/iPhone/i)){
$('#ima-ad-container').hide().css({'left':'-10000px','top':'-10000px'});
}
Javascript
if (navigator.userAgent.match(/iPhone/i)){
var imaDom = document.getElementById('#ima-ad-container');
imaDom.style.display='none';
imaDom.style.left='-10000px';
imaDom.style.top='-10000px';
}
一旦videojs-ima插件初始化,您就必须执行此代码,即:
videojs('player').on('adsready', {
});
我希望它能以某种方式帮助你,它对我起到了作用:)在iPhone 3G、iPhone 3GS、iPhone 4s、iPhone 5&iPhone 6
相关文章:
- 分派点击事件并保留击键修饰符
- 对iPad上的点击事件反应缓慢
- 当我点击jsf中的primefaces命令按钮时,如何获得点击事件
- 在javascript点击事件中调用django-urls
- 为什么我的点击事件没有使用 react js 触发
- Jquery.点击事件不'更改事件后无法工作
- 谷歌地图动态创建的标记点击事件使用相同的标记
- 如何在所有ng点击事件AngularJS上启动一个方法
- Javascript点击事件回调不起作用
- Jquery点击事件必须点击两次
- 无法在java脚本中调用图像的点击事件函数
- 将谷歌地图点击事件中的LatLng传递到rails控制器
- Html按钮点击事件未触发单选按钮
- 如何在Ol3弹出窗口中添加用javascript创建的按钮上的点击事件
- JavaScript:点击事件中对象的值
- 如何在 JavaScript 代码中调试点击事件处理
- 如何在tinymce编辑器中将点击事件绑定到html标签
- 如何在触发点击事件后执行警报
- OnsenUI中的ng点击事件不会在Android模拟器上触发
- jquery点击事件不会在iPhone中的按钮元素上触发