Javascript故障,没有正确重定向

Javascript malfunction, not redirecting right

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

我将"wa,or and id"(来自这些州的访问者)设置为重定向到website1.com,当我访问该网站时,它会将我重定向到webite1.com(这样它就知道我在华盛顿州)。但如果我把wa改为fl,然后访问该网站,它会把我重定向到google.com——我设置的默认URL。

在上面的例子中,如果他们不是来自wa、id或-他们应该留在页面上/不被重定向(除非有合法的查询错误,这似乎不是,因为它知道我在wa)

有人知道我做错了什么吗?谢谢

<script src="//js.maxmind.com/js/apis/geoip2/v2.1/geoip2.js" type="text/javascript"></script>

调用另一个包含以下内容的JS文件:

var redirect = (function () {
    /* This implements the actual redirection. */
    var redirectBrowser = function (site) {
      // Enter default URL below
      var uri = "http://www.google.com/?=error";
      if(site != "default") {
        switch (site)
        {
          // For each site put the iso_code identfiers for each state/province (in lowercase) you want to redirect after each case. Copy and paste as below for more options.
           case "fl":
           case "or":
           case "id": 
               uri = "http://www.website1.com";

        }
      }
        window.location = uri;
    };
    var onSuccess = function (geoipResponse) {
        /* There's no guarantee that a successful response object
         * has any particular property, so we need to code defensively. */
        if (!geoipResponse.subdivisions[0].iso_code) {
            redirectBrowser("default");
            return;
        }
        /* ISO country codes are in upper case. */
        var code = geoipResponse.subdivisions[0].iso_code.toLowerCase();
        if ( code ) {
            redirectBrowser(code);
        }
        else {
            redirectBrowser("default");
        }
    };
    /* We don't really care what the error is, we'll send them
     * to the default site. */
    var onError = function (error) {
        redirectBrowser("default");
    };
    return function () {
        geoip2.city( onSuccess, onError );
    };
}());
redirect();

将switch语句更改为此语句,看看它是否有效:

switch (site){
    case "fl":
    case "or":
    case "id":{ 
        uri = "http://www.website1.com";break;}
    default:
        return;   
 }