是什么让我的简单if语句不起作用?

时间:2012-07-23 19:38:27

标签: jquery if-statement document-ready

有没有人发现任何问题或者不知道为什么它不起作用?

<script type="text/javascript">
$(document).ready(function(){
   if (location.href=="http://www.example.com") {alert("test test test");
   } else {
   document.location = "http://www.example.com/test";
   }
});
</script>

4 个答案:

答案 0 :(得分:2)

尝试:

    <script type="text/javascript">
    $(document).ready(function(){
       if (window.location.href =="http://www.example.com") {alert("test test test");
       } else {
           window.location = "http://www.example.com/test";
       }
    });
    </script>

答案 1 :(得分:0)

如果您访问该网站(例如使用Chrome)并打开控制台(F12)并输入“location.href”,您会发现该位置以斜线结尾,因为它就在您所在的位置被大多数http网络服务器重定向。因此,请检查带有斜杠的网址

   <script type="text/javascript">
    $(document).ready(function(){
       if (location.href=="http://www.example.com/") {alert("test test test");
       } else {
       document.location = "http://www.example.com/test";
       }
    });
    </script>

enter image description here

答案 2 :(得分:0)

为什么要等待文档就绪事件来更改当前位置?

我建议您跳过该部分并通过使用console.log()或简单alert输出属性来验证属性值。

这样的事情会发生;

console.log('Current location =', window.location.href, window.location.href == 'http://www.example.com'); // DEBUG

if (window.location.href != 'http://www.example.com') {
  // redirect
  window.location.href = 'http://www.example.com/test';
}

答案 3 :(得分:-4)

为什么不尝试自我唤醒匿名功能:

(function(){
 if (location.href=="http://www.example.com") {
    alert("test test test");
 } else {
     document.location = "http://www.example.com/test";
 }
})();