JQuery:为什么网站不会打开?

时间:2016-11-28 05:03:57

标签: javascript jquery function setinterval

我是JQuery的新手,但我每天都在练习。我的目标是在单击按钮后打开链接,但链接似乎没有打开。我正试图打开if语句中的链接,所以一切都相应发生。

  window.setInterval(function(){ 
    if ($('#add-remove-buttons').find('.button').length > 0) {
        $('#size').val($('#size option').filter(function(ind, el) {
           return $(el).text() === 'Large';
        }).val());  
        $('#add-remove-buttons').find('.button').trigger('click'); 
        setTimeout(function() { 
          window.location.replace('http://myweblink'); 
         }, 900); 
        } 
   }, 100);

编辑(仍然需要帮助)

我尝试过更改但不加载。我认为可能会陷入100ms循环。我把这个函数放在一个100ms的循环中,这样就可以检测到if ($('#add-remove-buttons').find('.button').length > 0)我也意识到在用户点击按钮后,这个html会自动出现:

<fieldset id="add-remove-buttons"><input class="button remove" name="commit" value="remove" type="submit"><a href="/shop" class="button continue">keep shopping</a></fieldset>

这意味着if语句:如果我的代码中的($('#add-remove-buttons').find('.button').length > 0)变为false,则不会运行更改URL的代码。有没有办法检测上面的html代码的存在,就像if语句变为false?在我弄明白之后,我可以放window.location.href = "http://myweblink";然后让它工作!

3 个答案:

答案 0 :(得分:1)

在您的代码中,它缺少完整的网址。

使用

 window.location.replace('http://myweblink.com'); 

相反

 window.location.replace('http://myweblink'); 

要重定向,jQuery不是必需的,window.location.replace(...)将最好地模拟HTTP重定向。

它比使用window.location.href =更好,因为replace()不会将原始页面保留在会话历史记录中,这意味着用户不会陷入永无止境的后退按钮惨败。如果要模拟某人点击链接,请使用location.href。如果要模拟HTTP重定向,请使用location.replace。

例如:

// similar behavior as an HTTP redirect
window.location.replace("http://stackoverflow.com");

// similar behavior as clicking on a link
window.location.href = "http://stackoverflow.com";

您可以阅读答案here

答案 1 :(得分:0)

<强>尝试 window.location.href = "http://your.wesite.com"; 这将取代您的地址栏。

答案 2 :(得分:0)

如果你正在使用jQuery,只需使用 $(location).attr('href',url);。

window.location.href似乎在某些浏览器中有不一致的行为,事实上,它在我的Firefox版本中不起作用。