关于jquery:将变量传递给window.location href

Passing variable to window.location href

本问题已经有最佳答案,请猛点这里访问。

我正在尝试延迟单击时的传出链接,以便谷歌事件跟踪有时间发生。

我编写了以下代码,但不确定如何将变量传递到window.location。它只是将其添加为字符串"url",而不是链接地址。我做错什么了?

1
2
3
4
5
6
7
8
$("a.private-product-order-button").click(function(e) {
   e.preventDefault();
   _gaq.push(['_trackEvent', 'Order buttons', 'Click', 'Service']);
   var url = $(this).attr("href");
   setTimeout(function() {
      $(window.location).attr('href', 'url');
      }, 200);
});


不需要使用jquery来设置location对象的属性(也不需要使用jquery来获取锚定对象的href属性):

1
2
3
4
5
6
7
8
9
$("a.private-product-order-button").click(function(e) {
    e.preventDefault();
    _gaq.push(['_trackEvent', 'Order buttons', 'Click', 'Service']);

    var url = this.href;
    setTimeout(function() {
        window.location.href = url;
    }, 200);
});


使用$(window.location).attr('href', url);,不带URL周围的引号。


因为你毕竟是在添加字符串。

应该是:

1
$(window.location).attr('href', url);

1
$(window.location).attr('href', 'url');