使用脚本设置cookie然后重定向的最佳方法


Best way to set a cookie with a script then redirect?

在重定向到另一个域之前,我需要设置来自第三方的跟踪cookie。

第三方提供了此脚本。

<script type='text/javascript'>
    var ssa = '8g38f7g5yg8H84hh5';
    var ssaUrl = ('https:' == document.location.protocol ? 'https://' : 'http://') +      'pixel.trackingdomain.com/iap/' + ssa;
    new Image().src=ssaUrl;
</script>

最好/最快的方法是什么?

由于您需要等到跟踪请求完成,因此请使用 onload 事件来延迟重定向:

var ssa = '8g38f7g5yg8H84hh5';
var ssaUrl = ('https:' == document.location.protocol ? 'https://' : 'http://') +
              'pixel.trackingdomain.com/iap/' + ssa;
var img = new Image();
img.onload = function() {
    document.location.href = "http://redirect.to.somewhere/";
};
img.src=ssaUrl;

如果你使用的是jQuery,那么你可以使用下面提到的代码。

var ssa = "8g38f7g5yg8H84hh5";
var ssaUrl = window.location.protocol + "//" + window.location.host + "/pixel.trackingdomain.com/iap/" + ssa;
var tracker = $("<img/>").attr({ src: ssaUrl }).bind("load", function (event) {
        window.location.href = "http://redirect.to.somewhere/";
    }).appendTo("body");