How can I redirect with JavaScript?

Discussion in 'JavaScript' started by MrLeN, Mar 7, 2009.

  1. #1
    In the code below, which if you paste into a html document and view in your browser -- will work, I need to put in some JavaScript which detects that player state, and if it is 0 then the page redirects.

    Can you show me how I can do this?

    
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <head>
      <meta http-equiv="Content-Type" content="text/html; charset=us-ascii" />
    
      <title>YouTube Javascript API Example page</title>
    <script src="http://swfobject.googlecode.com/svn/tags/rc3/swfobject/src/swfobject.js" type=
    "text/javascript">
    </script>
    <style type="text/css">
    /*<![CDATA[*/
    
        body {
          font-family: verdana, helvetica;
          background-color: white;
        }
    
        #timedisplay {
          border: solid 1px red;
          width: 50px;
        }
    /*]]>*/
    </style>
    <script type="text/javascript">
    //<![CDATA[
    
            function updateHTML(elmId, value) {
              document.getElementById(elmId).innerHTML = value;
            }
    
            function setytplayerState(newState) {
              updateHTML("playerstate", newState);
            }
    
            function onYouTubePlayerReady(playerId) {
              ytplayer = document.getElementById("myytplayer");
              setInterval(updateytplayerInfo, 250);
              updateytplayerInfo();
              ytplayer.addEventListener("onStateChange", "onytplayerStateChange");
              ytplayer.addEventListener("onError", "onPlayerError");
            }
    
            function onytplayerStateChange(newState) {
              setytplayerState(newState);
            }
    
            function onPlayerError(errorCode) {
              alert("An error occurred: "+ errorCode);
            }
    
            function updateytplayerInfo() {
              updateHTML("bytesloaded", getBytesLoaded());
              updateHTML("bytestotal", getBytesTotal());
              updateHTML("videoduration", getDuration());
              updateHTML("videotime", getCurrentTime());
              updateHTML("startbytes", getStartBytes());
            }
    
            // functions for the api calls
            function play() {
              if (ytplayer) {
                ytplayer.playVideo();
              }
            }
    
            function pause() {
              if (ytplayer) {
                ytplayer.pauseVideo();
              }
            }
    
            function stop() {
              if (ytplayer) {
                ytplayer.stopVideo();
              }
            }
    
            function getPlayerState() {
              if (ytplayer) {
                return ytplayer.getPlayerState();
              }
            }
    
            function seekTo(seconds) {
              if (ytplayer) {
                ytplayer.seekTo(seconds, true);
              }
            }
    
            function getBytesLoaded() {
              if (ytplayer) {
                return ytplayer.getVideoBytesLoaded();
              }
            }
    
            function getBytesTotal() {
              if (ytplayer) {
                return ytplayer.getVideoBytesTotal();
              }
            }
    
            function getCurrentTime() {
              if (ytplayer) {
                return ytplayer.getCurrentTime();
              }
            }
    
            function getDuration() {
              if (ytplayer) {
                return ytplayer.getDuration();
              }
            }
    
            function getStartBytes() {
              if (ytplayer) {
                return ytplayer.getVideoStartBytes();
              }
            }
    
            function mute() {
              if (ytplayer) {
                ytplayer.mute();
              }
            }
    
            function unMute() {
              if (ytplayer) {
                ytplayer.unMute();
              }
            }
    //]]>
    </script>
    </head>
    
    <body id="page">
      <div>
        <div id="ytapiplayer">
          You need Flash player 8+ and JavaScript enabled to view this video.
        </div><script type="text/javascript">
    //<![CDATA[
    
          // allowScriptAccess must be set to allow the Javascript from one domain to access the swf on the youtube domain
          var params = { allowScriptAccess: "always" };
          // this sets the id of the object or embed tag to 'myytplayer'. You then use this id to access the swf and make calls to the player's API
          var atts = { id: "myytplayer" };
          swfobject.embedSWF("http://www.youtube.com/v/ma9I9VBKPiw&amp;border=0&amp;enablejsapi=1&amp;playerapiid=ytplayer", 
                             "ytapiplayer", "425", "344", "8", null, null, params, atts);
    
    //]]>
    </script> <!-- HTML below here is for display of the player info + state -->
    
        <div>
          Player state: <span id="playerstate">--</span>
        </div><br />
        <a href="javascript:void(0);" onclick="play();">Play</a> | <a href="javascript:void(0);"
        onclick="pause();">Pause</a> | <a href="javascript:void(0);" onclick="stop();">Stop</a> |
        <a href="javascript:void(0);" onclick="mute();">Mute</a> | <a href="javascript:void(0);"
        onclick="unMute();">Unmute</a> |<br />
        <br />
    
        <form action="" onsubmit="seekTo(document.getElementById('seekto').value); return false;">
          <div>
            <input id="seekto" type="text" size="4" /><input type="submit" value="Seek to" />
          </div>
        </form><br />
    
        <div>
          Duration: <span id="videoduration">--:--</span> | Current Time: <span id=
          "videotime">--:--</span>
        </div><br />
    
        <div id="bytesdisplay">
          Bytes Total: <span id="bytestotal">--</span> | Start Bytes: <span id="startbytes">--</span> |
          Bytes Loaded: <span id="bytesloaded">--</span>
        </div>
      </div>
    </body>
    </html>
    
    Code (markup):
     
    MrLeN, Mar 7, 2009 IP
    wwe_fan9417 likes this.
  2. DGK

    DGK Peon

    Messages:
    73
    Likes Received:
    1
    Best Answers:
    0
    Trophy Points:
    0
    #2
    <script type="text/javascript">
    window.location = "http://www.google.com/"
    </script>

    This is the code for redirect
     
    DGK, Mar 7, 2009 IP