安卓设备上视频播放结束时的Javascript事件

3
我一直在尝试创建一个网页,在用户观看完视频后(或者在播放期间退出),将用户重定向到另一个页面。我已经在iPhone上实现了这个功能,但是无法弄清楚它在Android上是如何工作的。
在iPhone上,我找到了两种方法来实现这一点。使用标签嵌入QuickTime插件,然后使用JavaScript添加事件监听器来监听“qt_ended”事件。由于没有QuickTime插件,所以这显然不适用于Android。
我尝试的第二件事是使用HTML5标签并监听“ended”事件,同样在iPhone上工作得很好,但令我惊讶的是,在Android上却没有重定向发生。因此,我的猜测是Android浏览器不完全支持视频标签,并且不会触发该事件。
因此,我现在不知道该怎么做。我猜我可以类似于QuickTime嵌入解决方案,但是使用Android可用的插件。但是我找不到任何关于Android上可用插件及其是否支持某种“ended”事件的信息。

我认为你遇到了我一个月前遇到的同样的问题。请查看此帖子:http://stackoverflow.com/questions/2866212/webview-problem-on-youtube-site-in-android - Praveen
我不是在编写自己的应用程序,我只是在浏览器中运行页面,所以Javascript 应该已经打开了?否则任何网站上的JavaScript都不会起作用。或者我误解了你的意思? - Tjofras
3个回答

2

这在Android 2.2中支持,但在2.1中不支持。 Android 1.6甚至不支持Video标签,这是毋庸置疑的。

我花了一些时间寻找解决方法,但没有找到任何东西。


你找到了什么吗? - Jonathan Allen Grant

1

我也遇到了相同的问题(Android 2.1版本)我找到了这个链接,但是目前还没有解决。 https://github.com/bcrescimanno/droidfix

最终我检测到了Android 2.1或以下版本,并显示一个按钮,用户可以激活该按钮来触发结束事件。

我使用了以下PHP代码进行检测,但你也可以很容易地将其转换为JavaScript。

if(strpos($_SERVER['HTTP_USER_AGENT'], 'Android') !== false){

        $androidVersion = intval(substr($_SERVER['HTTP_USER_AGENT'], strpos($_SERVER['HTTP_USER_AGENT'], 'Android')+8, 3));

        if($androidVersion < 2.2) {
            echo 'android 2.1 or less';
        }
    }

1

我在进行一些Android测试时发现,这种行为与视频文件有关。对于某些文件,它不起作用。但是对于重新编码的文件,它可以正常工作。


2
请提供一个更详细的解决方案。 - hgwhittle

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接