Microsoft announced fix will be from IE9. Until you can avoid problems with following code:
var fakeLink = document.createElement ("a");
if (typeof(fakeLink.click) == 'undefined')
location.href = url; // sends referrer in FF, not in IE
fakeLink.href = url;
fakeLink.click(); // click() method defined in IE only
The trick is that, although location.href navigation (and window.navigate() too) doesn't send a referrer, the IE-only click() method on a hyperlink will send a referrer. So if you create a hyperlink, set its href, and then click() it with script, you'll get the referrer you want.
Unfortunately the click()
method isn't supported on hyperlinks in some versions of Firefox, so you need to check for its presence and use location.href if it's not there. Since location.href
sends a referrer on firefox, it works fine.