记住所选内容并将用户重定向到已访问的子域

Remember selection and redirect user to a visited subdomain

本文关键字:重定向 访问 用户      更新时间:2023-11-08

当用户访问example.com时,会看到许多其他子域(城市)可供选择。我想让用户(在地址栏上)选择或键入a.example.com,在他下次访问example.com时,他应该被重定向到a.example.com。当他访问b.example.com时他应该被重新定向到b.example.com。

我找到了这个代码下拉菜单来记住选择和重定向用户,它接近我需要的。我想删除下拉菜单(表单),代之以一个列出所有城市的页面。我测试了下面的代码,重定向不准确。我需要更健壮、更快速的脚本。任何帮助都将不胜感激。

<script type="text/javascript">
if (localStorage && localStorage.country) {
    location = localStorage.country;    
}
function formChanged(form) {
    var val = form.options[form.selectedIndex].value;
    if (val !== 'non-value') {
      if (localStorage) {
        localStorage.country = val;
      }
      location = val;
    }
}
</script>
<FORM NAME="form1">
  <select onchange="formChanged(this);" NAME="country" SIZE="1">
    <OPTION VALUE="non-value">Select Country
    <OPTION VALUE="chile">Chile
    <OPTION VALUE="colombia">Colombia
    <OPTION VALUE="bolivia">Bolivia
  </select>
</FORM>

这是您使用cookie的时候。

function setSelection(elem){
  var exdate=new Date();
  exdate.setDate(exdate.getDate() + 99999); // A really not time, AKA never
  var c_value=escape(elem.value) + exdate.toUTCString();
  document.cookie="selection=" + c_value;
}

参考这里获得值,然后你就可以使用它了。正如你所看到的,上面几乎是从页面上复制粘贴的。http://www.w3schools.com/js/js_cookies.asp