我是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";
然后让它工作!
答案 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版本中不起作用。