Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I redirect to home page after video stops

I am using Cincopa to embed my video into my website. The page that it is embedded in is hidden and navigation is removed. So I would like everyone to be redirected to the home page once the video is finished.

Here is my code:

<div id="cp_widget_55a42f1b-6e51-4738-87f9-eaf52dc6a826">...</div>
<script type="text/javascript">
    var cpo = [];
    cpo["_object"] = "cp_widget_55a42f1b-6e51-4738-87f9-eaf52dc6a826";
    cpo["_fid"] = "AsBAj2M3MQOr";
    var _cpmp = _cpmp || [];
    _cpmp.push(cpo);
    (function() {
        var cp = document.createElement("script");
        cp.type = "text/javascript";
        cp.async = true;
        cp.src = "//www.cincopa.com/media-platform/runtime/libasync.js";
        var c = document.getElementsByTagName("script")[0];
        c.parentNode.insertBefore(cp, c);
    })();
</script>
<noscript>Powered by Cincopa <a href='http://www.cincopa.com/video-hosting'>Video Hosting for Business</a> solution.<span>Test</span><span>bitrate</span><span> 39961 kb/s</span><span>height</span><span> 1080</span><span>duration</span><span> 00:02:35.31</span><span>lat</span>:<span> +33.2269</span><span>long</span>:<span> 21-96.93</span><span>fps</span><span> 59.94</span><span>width</span><span> 1920</span><span>originaldate</span><span> 2015-06-06 19:08:58</span>
</noscript>
like image 836
Christopher Moore Avatar asked Aug 13 '15 20:08

Christopher Moore


2 Answers

Cincopa embeds a video HTML tag, you have to add an event as explained here

Well, right now I'm not quite in the mood to make a complete test, so I'll just suggest a workaround which you will need to adapt.

In order to give you the exact code, I need to know:

  1. What CMS are you using?
  2. Can you add an id or a class to your video tag with cincopa?
  3. Are you including jQuery?

Then you'll have to add this lines in the bottom of your script:

//Wait until the page is entirely loaded, and so you can access the rendered video tag (you'll need jQuery)
$( document ).ready(function() {
    
    function goHomeYouAreDrunk(e) {
        window.location.href = "http://url.to.your.home.page";
    }
    //I'm supposing that your video is the sole video tag in your page, if it's not, you'll have to get it by its id or class
    document.find('video').addEventListener('ended',goHomeYouArDrunk,false);
});
like image 89
Luis Sieira Avatar answered Sep 27 '22 21:09

Luis Sieira


Normally, that would be via an event listener on the <audio> or <video> element.

How to add Event Listeners | W3Schools : https://www.w3schools.com/Jsref/met_element_addeventlistener.asp

But a way I'd do it with Javascript just to be sure is:

// The interval clocks every .1 second(s).
setInterval(function() {
    // If the element's current playback time is the playback duration (has reached the end).
    if (audioElement.currentTime == audioElement.duration)
        doSomething()
}, 100)

Although if you are wary about performance and don't want to use a setInterval() function, then stick with adding an event to the element.

By the way, to re-direct to another page, use the Javascript function location.assign("https://www.example.com.").

like image 31
Lapys Avatar answered Sep 27 '22 22:09

Lapys