更改Javascript cookie重定向

Change Javascript cookies redirection

本文关键字:重定向 cookie Javascript 更改      更新时间:2023-09-26

我找到了这个javascript,它允许您选择一个选项,并在您单击go按钮后进行操作。它会将您重定向到另一个网站。我试着修改了这个,这样我就可以用按钮代替收音机了,但它似乎不起作用。有人能帮我吗??

非常感谢。

这里的代码:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
  <title></title>
  <script language="JavaScript" type="text/javascript">
    //chose which page to go to
    function Link() {
      if (document.fred.r1[0].checked) {
        window.top.location = 'http://kshowonline.com/list';
      }
      if (document.fred.r1[1].checked) {
        window.top.location = 'https://www.google.com/';
      }
      if (document.fred.r1[2].checked) {
        window.top.location = 'https://www.yahoo.com/';
      }
      if (document.fred.r1[3].checked) {
        window.top.location = 'https://nodejs.org/';
      }
    }
     //-->
  </script>
</head>
<body onload="f19_GetFormCookie();Link();">
  <form title="f19_Include" name="fred">
    <INPUT type="radio" name="r1">Baseball
    <INPUT type="radio" name="r1">Basketball
    <INPUT type="radio" name="r1">Soccer
    <INPUT type="radio" name="r1">Fencing
    <INPUT type="button" value="GO" onclick="f19_SetFormCookie();Link();">
  </form>
  <script language="JavaScript" type="text/javascript">
    <!--
     // A Cookie Script to Store and Retrieve
     // the values and states of common form elements
     // TEXT BOXES - value
     // TEXT AREA - value
     // CHECK BOX - checked state
     // RADIO BUTTON - checked state
     // SELECT LIST - selected Index
     // Application Notes and Customising Variables
     // Application Notes
     // Values and states of each element are stored
     // as the page is unloaded or form submitted.
     // The storage duration is specified by a customising variable
     // Stored values and states of elements included in the cookie
     // are re-established as the page is reloaded.
     // The number and type of elements included must respect
     // the maximum cookie size of 4K.
     // The Retrieval is initialised by a <BODY> onload event
     // The Storage occurs on a <BODY> onunload event
     // e.g.
     // <body onload="f19_GetFormCookie();" onunload="f19_SetFormCookie();" >
     // To include a form element in the Store and Retrieve
     // it must be child nodes of an element with a title of 'f19_Include'
     // e.g.
     // <span title="f19_Include" >
     // <INPUT type="text" size="10" >
     // <INPUT type="checkbox >
     // </span>
     // There may be any number of elements titled 'f19_Include' on a page
     // and as many child elements of each 'f19_Include' as required.
     // All variable, function etc. names are prefixed with 'f19_'
     // to minimise conflicts with other JavaScripts
     // Customising Variables
    var f19_Days = 1; // The cookie will be available on revisits for a specified number of days
    var f19_Cookie = 'My Form2'; // The Cookie name
     //-->
  </script>
  <script language="JavaScript" type="text/javascript">
    <!--
     // Form Compendium f19_Part2 (12-05-2005)
     // Functional Code
     // No Need To Change ***************************
    var f19_TBAry = new Array();
    var f19_RCAry = new Array();
    var f19_TAAry = new Array();
    var f19_SLAry = new Array();
    var f19_TBString, f19_RCString, f19_TAString, f19_SLString;
    var f19_, f19_exp, f19_st, f19_len, f19_end, f19_st;
    var f19_Exp = new Date(new Date().getTime() + f19_Days * 86400000).toGMTString();
    function f19_GetFormCookie() {
      f19_TBString = f19_GetCookie(f19_Cookie + 'TB');
      f19_RCString = f19_GetCookie(f19_Cookie + 'RC');
      f19_SLString = f19_GetCookie(f19_Cookie + 'SL');
      f19_TAString = f19_GetCookie(f19_Cookie + 'TA');
      f19_ = document.getElementsByTagName('*');
      for (f19_0 = 0; f19_0 < f19_.length; f19_0++) {
        if (f19_[f19_0].title == 'f19_Include') {
          f19_Inc = f19_[f19_0].getElementsByTagName('*');
          for (f19_1 = 0; f19_1 < f19_Inc.length; f19_1++) {
            if (f19_Inc[f19_1].tagName == 'INPUT') {
              if (f19_Inc[f19_1].type == 'text') {
                f19_TBAry[f19_TBAry.length] = f19_Inc[f19_1];
              }
              if (f19_Inc[f19_1].type == 'radio' || f19_Inc[f19_1].type == 'checkbox') {
                f19_RCAry[f19_RCAry.length] = f19_Inc[f19_1];
              }
            }
            if (f19_Inc[f19_1].tagName == 'TEXTAREA') {
              f19_TAAry[f19_TAAry.length] = f19_Inc[f19_1];
            }
            if (f19_Inc[f19_1].tagName == 'SELECT') {
              f19_SLAry[f19_SLAry.length] = f19_Inc[f19_1];
            }
          }
        }
      }
      if (f19_TBString) {
        for (f19_1 = 0; f19_1 < f19_TBAry.length; f19_1++) {
          f19_TBAry[f19_1].value = f19_TBString.split('~^~')[f19_1];
        }
      }
      if (f19_RCString) {
        for (f19_2 = 0; f19_2 < f19_RCAry.length; f19_2++) {
          f19_RCAry[f19_2].checked = false;
          if (f19_RCString.split('~^~')[f19_2] == 'true') {
            f19_RCAry[f19_2].checked = true;
          }
        }
      }
      if (f19_TAString) {
        for (f19_3 = 0; f19_3 < f19_TAAry.length; f19_3++) {
          f19_TAAry[f19_3].value = f19_TAString.split('~^~')[f19_3];
        }
      }
      if (f19_SLString) {
        for (f19_4 = 0; f19_4 < f19_SLAry.length; f19_4++) {
          f19_SLAry[f19_4].selectedIndex = f19_SLString.split('~^~')[f19_4];
        }
      }
    }
    function f19_GetCookie(name) {
      var f19_st = document.cookie.indexOf(name + "=");
      var f19_len = f19_st + name.length + 1;
      if ((!f19_st) && (name != document.cookie.substring(0, name.length))) return null;
      if (f19_st == -1) return null;
      var f19_end = document.cookie.indexOf(";", f19_len);
      if (f19_end == -1) f19_end = document.cookie.length;
      return decodeURI(document.cookie.substring(f19_len, f19_end));
    }
    function f19_SetFormCookie(value) {
      f19_TBString = '';
      for (f19_0 = 0; f19_0 < f19_TBAry.length; f19_0++) {
        f19_TBString += f19_TBAry[f19_0].value + '~^~';
      }
      document.cookie = f19_Cookie + "TB=" + encodeURI(f19_TBString) + ";expires=" + f19_Exp + ";path=/;"
      f19_RCString = '';
      for (f19_1 = 0; f19_1 < f19_RCAry.length; f19_1++) {
        f19_RCString += f19_RCAry[f19_1].checked + '~^~';
      }
      document.cookie = f19_Cookie + "RC=" + encodeURI(f19_RCString) + ";expires=" + f19_Exp + ";path=/;"
      f19_TAString = '';
      for (f19_0 = 0; f19_0 < f19_TAAry.length; f19_0++) {
        f19_TAString += f19_TAAry[f19_0].value + '~^~';
      }
      document.cookie = f19_Cookie + "TA=" + encodeURI(f19_TAString) + ";expires=" + f19_Exp + ";path=/;"
      f19_SLString = '';
      for (f19_1 = 0; f19_1 < f19_SLAry.length; f19_1++) {
        f19_SLString += f19_SLAry[f19_1].selectedIndex + '~^~';
      }
      document.cookie = f19_Cookie + "SL=" + encodeURI(f19_SLString) + ";expires=" + f19_Exp + ";path=/;"
    }
     //-->
  </script>
</body>
</html>

您可以在单选按钮上使用onclick事件:http://www.dyn-web.com/tutorials/forms/radio/onclick-onchange.php

您可以修改代码以使用按钮而不是单选按钮。它应该类似于以下内容:

   <button  name="b1" onclick="f19_SetFormCookie('Baseball')">Baseball</button>
   <button  name="b2" onclick="f19_SetFormCookie('Basketball')">Basketball</button>
   <button  name="b3" onclick="f19_SetFormCookie('Soccer')">Soccer</button>
   <button  name="b4" onclick="f19_SetFormCookie('Fencing')">Fencing</button>

然后,您必须修改SetFormCookie函数以接受参数-根据设置的cookie。