Referrer丢失çå 个åºæ¯
ä¿®æ¹Location对象è¿è¡é¡µé¢å¯¼èª
Location对象æ¯ä¸ä¸ªç¨äºé¡µé¢å¯¼èªçé常å®ç¨ç对象ãå 为ä»å
è®¸ä½ åªåæ´Urlçå
¶ä¸ä¸é¨åãä¾å¦ä»cnåååæ¢å°
comååï¼å
¶ä»é¨åä¸åï¼
window.location.hostname = "example.com";
ä½æ¯ï¼éè¿ä¿®æ¹Locationè¿è¡é¡µé¢å¯¼èªçæ¹æ³ï¼ä¼å¯¼è´å¨IEä¸ä¸¢å¤±Referrerã
IE5.5+ ä¸è¿å空å符串
Chrome3.0+ï¼Firefox3.5ï¼Opera9.6ï¼Safari3.2.2åæ£å¸¸è¿åæ¥æºç½é¡µ
window.openæ¹å¼æå¼æ°çªå£
示ä¾ï¼
<a href="#" onclick="window.open('
http://www.google.com')">访é®Google</a>
ç¹å»æ¤é¾æ¥ä¼å¨æ°çªå£æå¼Googleç½ç«ï¼æ们å¨å°åæ ä¸è¾å
¥ä»¥ä¸js代ç å°±å¯ä»¥çå°åéçreferreräºã
javascript:alert(document.referrer)
æµè¯ç»æï¼
IE5.5+ ä¸è¿å空å符串
Chrome3.0+ï¼Firefox3.5ï¼Opera9.6ï¼Safari3.2.2åæ£å¸¸è¿åæ¥æºç½é¡µ
å¦ææ¯å个ååä¸éè¿æ¤æ¹å¼è·³è½¬çï¼é£ä¹æ们å¯ä»¥éè¿è®¿é®windoww.opener对象å»è·å丢失çreferrerä¿¡æ¯ã代ç å¦ä¸ï¼
<script type="text/javascript">
var referrer = document.referrer;
if (!referrer) {
try {
if (window.opener) {
// IEä¸å¦æè·¨ååæåºæéå¼å¸¸
// SafariåChromeä¸window.opener.location没æä»»ä½å±æ§
referrer = window.opener.location.href;
}
}
catch (e) {}
}
</script>
è·¨åçè¯å没è¾äº~
é¼ æ ææ½æå¼æ°çªå£
é¼ æ ææ½æ¯ç°å¨é常æµè¡çç¨æ·ä¹ æ¯ï¼å¾å¤æµè§å¨é½å
ç½®æè
å¯ä»¥éè¿æ件çæ¹å¼æ¥æ¯æé¼ æ ææ½å¼æµè§ãä½æ¯éè¿è¿ç§æ¹å¼æå¼ç页é¢ï¼åºæ¬å
¨é½ä¸¢å¤±referrerã并ä¸ï¼è¿ç§æ
åµä¸ï¼ä¹æ æ³ä½¿ç¨window.openerçæ¹å¼å»è·å丢失çreferreräºã
å·²æµè¯ï¼
Maxthon2.5.2ï¼FirefoxçFireGestureæ件ï¼Chrome3.0+ï¼Opera9.6ï¼Safari3.2ã
ç¹å»Flashå
é¨é¾æ¥
ç¹å»Flashä¸å°è¾¾å¦å¤ä¸ä¸ªç½ç«çæ¶åï¼Referrerçæ
åµå°±æ¯è¾æä¹±äºã
IEä¸ï¼éè¿å®¢æ·ç«¯Javascriptçdocument.referrer读åå°çå¼æ¯ç©ºçï¼ä½æ¯å¦æä½ ä½¿ç¨æµéçæ§è½¯ä»¶çä¸ä¸çè¯ï¼ä½ ä¼åç°ï¼å®é
ä¸
HTTP请æ±ä¸çRefereræ¥æ头å´æ¯æå¼çï¼è¿å¯è½æ¯IEå®ç°çBugãåæ¶ï¼è¿ä¸ªå¼æåçæ¯Flashæ件çå°åï¼èä¸æ¯æ¥æºç½é¡µçå°åã
Chrome4.0ä¸ç¹å»Flashå°è¾¾æ°çªå£ä¹åï¼Referrerä¹æ¯æåçFlashæ件çå°åï¼èä¸æ¯æºç½é¡µçå°åã
Chrome3.0åSafari3.2æ¯ä¸æ ·çï¼é½æ¯ä¼ä¸¢å¤±Referrerä¿¡æ¯ã
OperaååFirefoxä¸æ ·ï¼Referrerçå¼é½æ¯æ¥æºç½é¡µçå°åã
HTTPS跳转å°HTTP
ä»HTTPSçç½ç«è·³è½¬å°HTTPçç½ç«æ¶ï¼æµè§å¨æ¯ä¸ä¼åéreferrerçãè¿ä¸ªå大æµè§å¨çè¡ä¸ºæ¯ä¸æ ·çã
ä¾å¦ï¼æ们å¨HTTPSä¸ä½¿ç¨Google Readerææ¯Gmailçæ¶åï¼ç¹å»æ个é¾æ¥å»å°å¦å¤ä¸ä¸ªç½ç«ï¼é£ä¹ä»ææ¯ä¸æ¥è¯´ï¼è¿æ ·ç访é®åç¨æ·ç´æ¥é®å
¥ç½å访é®æ¯æ²¡æä»ä¹åå«çã