视频完成时发生的事件 - 可能吗?

发布于 2024-11-30 20:56:44 字数 54 浏览 0 评论 0原文

是否可以在网页上放置 flash/html5 视频,并且当视频完成后,它将运行 PHP 脚本?

Is it possible to have a flash/html5 video on a webpage, and when the video is done, it will run a PHP script?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

秋风の叶未落 2024-12-07 20:56:44

您必须在 html5 播放器和 flash 播放器内部进行检查,以确定视频是否已停止播放,然后您应该能够通过多种方式调用 php 脚本。假设您有一个名为“test.php”的 php 文件,那么在 html5 中您将执行以下操作:

<script>
    var video = document.getElementsByTagName('video')[0];

    video.onended = function(e) {
                $.post(
                    "test.php", 
                    function(data) {
                        /*Do stuff here!*/
                    }, 
                   "json"
                );
    }
</script>

在 flash 中,情况有点不同,您可以尝试在 actionscript3 中执行类似以下操作:

stream.addEventListener(NetStatusEvent.NET_STATUS, statusChanged);

function statusChanged(stats:NetStatusEvent) {
    if (stats.info.code == 'NetStream.Play.Stop') {
        // create a new loadvars variable
        var lv:LoadVars = new LoadVars();
        lv.load("http://www.myurl.com/test.php");
        // now define what you want to do with the loaded data:
        lv.onLoad = function(){
           /*Do stuff here!*/
        }; 
    }
}

You'd have to do a check inside both the html5 player and the flash player to determine if the video has stopped playing and then you should be able to call a php script through several ways. Let's say you have a php file called 'test.php' then in html5 you'd do the following:

<script>
    var video = document.getElementsByTagName('video')[0];

    video.onended = function(e) {
                $.post(
                    "test.php", 
                    function(data) {
                        /*Do stuff here!*/
                    }, 
                   "json"
                );
    }
</script>

In flash it's a bit different and you could try doing something like the following in actionscript3:

stream.addEventListener(NetStatusEvent.NET_STATUS, statusChanged);

function statusChanged(stats:NetStatusEvent) {
    if (stats.info.code == 'NetStream.Play.Stop') {
        // create a new loadvars variable
        var lv:LoadVars = new LoadVars();
        lv.load("http://www.myurl.com/test.php");
        // now define what you want to do with the loaded data:
        lv.onLoad = function(){
           /*Do stuff here!*/
        }; 
    }
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文