开发者

Manage when someone tries to close the browser window/tab

In my onbeforeunload event, it asked the user whether they want to leave the page or stay on it. When they click "stay on page", I want it to then redirect them to another webpage in the same window. It sounds weird, but that's what I've been assigned to do. Basically, the main page plays a video - I think advertising to buy something, and when they close but then decide to stay on the page, we want the video to go away/stop playing and some different information to appear (a different "webpage"). Is there a way to do this, without just showing/hiding divs? Can I override the function? I'm currently trying to do it this way(as seen below) but now the d开发者_如何学编程ialog box is not showing up at all. It was working before Any ideas as to what I'm doing wrong, or how to accomplish this task?

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    <title>The Shocking Truth - Cabot Market Letter</title>

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
    <script type="text/javascript">
    $(document).ready(function() {
            $("#vid").show();
            $("#div2").hide();
        });
        var test = 1;
        function manipulatetest()
        {
            test = 2;
        }
    window.onbeforeunload = onbeforeunload_Handler;
    function onbeforeunload_Handler()
    {       if (test == 1){

                $("#vid").hide();
                $("#div2").show();
            var confirm = confirm("Would you like to stay on this page?");
            if (confirm == true) {
                window.location = "http://www.google.com";
                }

        }
}

</script>
</head>

<style type="text/css"> 

body {
    background-color: #e0e6e5;
}

#vid {  
    margin: 20px auto;
    width: 920px;
}

</style>


<body>

<div id="vid">
    <video width="920" height="540" autoplay preload controls>
      <source src="shockingtruth.mp4"  type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'>
      <source src="shockingtruth.webm" type='video/webm; codecs="vp8, vorbis"'>
      <source src="shockingtruth.ogv"  type='video/ogg; codecs="theora, vorbis"'>
      <object width="920" height="540" type="application/x-shockwave-flash"
        data="flowplayer-3.2.1.swf"> 
        <param name="movie" value="flowplayer-3.2.7.swf" /> 
        <param name="allowfullscreen" value="true" /> 
        <param name="flashvars" value='config={"clip": {"url": "http://www.cabot.net/videos/shocking-truth/shockingtruth.mp4", "autoPlay":true, "autoBuffering":true}}' /> 
        <p>Download video as <a href="pr6.mp4">MP4</a>, <a href="pr6.webm">WebM</a>, or <a href="pr6.ogv">Ogg</a>.</p> 
      </object>
    </video>
</div>

<div id="div2">
    <video width="920" height="540" autoplay preload controls>
      <source src="shockingtruth.mp4"  type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'>
      <source src="shockingtruth.webm" type='video/webm; codecs="vp8, vorbis"'>
      <source src="shockingtruth.ogv"  type='video/ogg; codecs="theora, vorbis"'>
      <object width="920" height="540" type="application/x-shockwave-flash"
        data="flowplayer-3.2.1.swf"> 
        <param name="movie" value="flowplayer-3.2.7.swf" /> 
        <param name="allowfullscreen" value="true" /> 
        <param name="flashvars" value='config={"clip": {"url": "http://www.cabot.net/videos/shocking-truth/shockingtruth.mp4", "autoPlay":true, "autoBuffering":true}}' /> 
        <p>Download video as <a href="pr6.mp4">MP4</a>, <a href="pr6.webm">WebM</a>, or <a href="pr6.ogv">Ogg</a>.</p> 
      </object>
    </video>
</div>

<p style="text-align: center;"><a href="http://www.cabot.net/info/cml/cmlld03.aspx?source=ed01" onclick="manipulatetest();">Click Here To Order</a></p>

</body>


A dirty trick is a setTimeout, and see whether it still runs: http://jsfiddle.net/FJ4LR/1/.

window.onbeforeunload = function() {
    setTimeout(function() {
        alert('You clicked stay.');
    }, 500);

    return 'Really?';
};
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜