【问题标题】:Redirect Using jQuery [duplicate]使用 jQuery 重定向 [重复]
【发布时间】:2011-06-04 10:24:38
【问题描述】:

所以我将 jquerymobile 用于我正在创建的应用程序。我有一个链接,如果所有验证都通过,我想通过,但如果有什么失败,我想重定向。

在 jquery 中是这样的。由于它是 jquerymobile,因此链接将是同一 index.html 页面上的新 div - 如果有帮助的话。

$(#link).click(function(){  
  if(validation_fails) link_elsewhere;  
  else return true;
}

【问题讨论】:

  • 这真的只是 javascript,jquery 什么都没有。

标签: javascript jquery html redirect mobile


【解决方案1】:

您可以使用 window.location 来重定向浏览器:

https://developer.mozilla.org/en/DOM/window.location

【讨论】:

    【解决方案2】:

    您可以将 div id 散列到 window.location 以显示 div。 比如:

    $(#link).click(function(){  
      if(validation_fails) window.location += "#<YOUR_DIV_ID>" ;  
      else return true;
    }
    

    【讨论】:

      【解决方案3】:

      你可以使用 JavaScript 的 native window.location

      $('#link').click(function(){  
      
          if(validation_fails) {
              window.location="http://this.site.com/";
          }
          else {
              return true;
          }
      }
      

      【讨论】:

        【解决方案4】:
        $(#link).click(function(){  
          if(validation_fails){
            var loc = window.location;
            window.location = loc.protocol+"//"+loc.hostname+loc.pathname+"#somedivid";
          } else return true;
        }
        

        除了@Cyber​​mate 的答案之外,您还需要额外的代码,否则每次失败时您都会继续附加哈希,例如“http://foo.com/bar#whee”,然后是“http://foo.com/bar#whee#whee”,等等

        编辑: 如果该端口可能被使用,您可以有条件地包含它:

        window.location = loc.protocol + "//" + loc.hostname +
                          (loc.port && ":"+loc.port) + 
                          loc.pathname + "#somedivid";
        

        【讨论】:

        • 需要端口号时可以使用loc.port
        猜你喜欢
        • 1970-01-01
        • 2013-01-12
        • 2014-08-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-04-11
        • 1970-01-01
        相关资源
        最近更新 更多