javascript¿çÓòÓÐÁ½ÖÖÇé¿ö£º
1¡¢»ùÓÚͬһ¸¸ÓòµÄ×ÓÓòÖ®¼ä£¬È磺a.c.comºÍb.c.com
2¡¢»ùÓÚ²»Í¬µÄ¸¸ÓòÖ®¼ä£¬È磺www.a.comºÍwww.b.com
3¡¢¶Ë¿ÚµÄ²»Í¬£¬È磺www.a.com:8080ºÍwww.a.com:8088
4¡¢ÐÒ鲻ͬ£¬È磺http://www.a.comºÍhttps://www.a.com
¶ÔÓÚÇé¿ö3ºÍ4£¬ÐèҪͨ¹ýºǫ́proxyÀ´½â¾ö£¬¾ßÌ巽ʽÈçÏ£º
a¡¢ÔÚ·¢Æð·½µÄÓòÏ´´½¨proxy³ÌÐò
b¡¢·¢Æð·½µÄjsµ÷Óñ¾ÓòϵÄproxy³ÌÐò
c¡¢proxy½«ÇëÇó·¢Ë͸ø½ÓÊÕ·½²¢»ñÈ¡ÏàÓ¦Êý¾Ý
d¡¢proxy½«»ñµÃµÄÊý¾Ý·µ»Ø¸ø·¢Æð·½µÄjs
´úÂëºÍajaxµ÷ÓÃÒ»Ö£¬ÆäʵÕâÖÖ·½Ê½¾ÍÊÇͨ¹ýajax½øÐе÷ÓõÄ
¶øÇé¿ö1ºÍ2³ýÁËͨ¹ýºǫ́proxyÕâÖÖ·½Ê½Í⣬»¹¿ÉÒÔÓжàÖÖ°ì·¨À´½â¾ö£º
1¡¢document.domain+iframe£¨Ö»Äܽâ¾öÇé¿ö1£©£º
a¡¢ÔÚ·¢Æð·½Ò³ÃæºÍ½ÓÊÕ·½Ò³ÃæÉèÖÃdocument.domain£¬²¢½«ÖµÉèΪ¸¸ÓòµÄÖ÷ÓòÃû(window.location.hostname)
b¡¢ÔÚ·¢Æð·½Ò³Ãæ´´½¨Ò»¸öÒþ²ØµÄiframe£¬iframeµÄÔ´ÊǽÓÊÕ·½Ò³Ãæ
c¡¢¸ù¾Ýä¯ÀÀÆ÷µÄ²»Í¬£¬Í¨¹ýiframe.contentDocument || iframe.contentWindow.documentÀ´»ñµÃ½ÓÊÕ·½Ò³ÃæµÄÄÚÈÝ
d¡¢Í¨¹ý»ñµÃµÄ½ÓÊÕ·½Ò³ÃæµÄÄÚÈÝÀ´Óë½ÓÊÕ·½½øÐн»»¥
ÕâÖÖ·½·¨Óиöȱµã£¬¾ÍÊǵ±Ò»¸öÓò±»¹¥»÷ʱ£¬ÁíÒ»¸öÓò»áÓа²È«Â©¶´³öÏÖ¡£

2¡¢ ¶¯Ì¬´´½¨script(Ò²¾ÍÊÇjsonp)
a¡¢ÔÚ·¢Æð·½Ò³Ã涯̬¼ÓÔØÒ»¸öscript£¬scriptµÄURLÖ¸Ïò½ÓÊÕ·½µÄÒ»¸ö´¦ÀíµØÖ·£¨ºǫ́£©£¬¸ÃµØÖ··µ»ØµÄjavascript·½·¨»á±»Ö´ÐУ¬ÁíÍâURLÖпÉÒÔ´«ÈëһЩ²ÎÊý£¬¸Ã·½·¨Ö»Ö§³ÖGET·½Ê½Ìá½»²ÎÊý¡£
b¡¢¼ÓÔØµÄscript¿ÉÒÔÔÚµ÷ÓÿçÓòjs·½·¨ºóÔÙ×öһЩ×Ô¼ºµÄ´¦Àí

3¡¢location.hash+iframe£º
a¡¢·¢Æð·½´´½¨Ò»¸öÒþ²ØµÄiframe£¬iframeµÄÔ´Ö¸Ïò½ÓÊÕ·½µÄÒ³Ãæ£¬²¢Í¨¹ý½ÓÊÕ·½Ò³ÃæµÄhashÖµÀ´´«ËÍÊý¾Ý
b¡¢·¢Æð·½´´½¨Ò»¸ö¶¨Ê±Æ÷£¬¶¨Ê±¼ì²é×Ô¼ºµÄlocation.hash²¢×÷ÏàÓ¦µÄ´¦Àí
c¡¢½ÓÊÕ·½´´½¨Ò»¸öÒþ²ØµÄiframe£¬iframeµÄÔ´Ö¸Ïò·¢Æð·½ËùÔÚÓòµÄÒ»¸ö´úÀíÒ³Ãæ£¬²¢½«½ÓÊÕ·½¸ù¾Ý·¢Æð·½´«ÈëµÄÊý¾Ý¶ø´¦ÀíºóµÄÊý¾Ýͨ¹ý´úÀíÒ³ÃæµÄhashÖµÀ´´«ËÍ
d¡¢½ÓÊÕ·½´´½¨Ò»¸ö¶¨Ê±Æ÷£¬¶¨Ê±¼ì²é×Ô¼ºµÄlocation.hash²¢×÷ÏàÓ¦µÄ´¦Àí
e¡¢´úÀíÒ³Ãæ´´½¨Ò»¸ö¶¨Ê±Æ÷£¬¶¨Ê±¼ì²é×Ô¼ºµÄlocation.hash²¢Í¬²½¸üз¢Æð·½Ò³ÃæµÄhashÖµ www.a.com/a.html#aaa£¬ÆäÖÐ#aaa¾ÍÊÇlocation.hashÖµ

4¡¢window.name£º
a¡¢·¢Æð·½Ò³Ãæ´´½¨Ò»¸öÒþ²ØµÄiframe£¬²¢ÇÒÔ´Ö¸Ïò½ÓÊÕ·½Ò³Ãæ
b¡¢½ÓÊÕ·½ÔÚ×Ô¼ºÒ³ÃæÍ¨¹ýscript½«ÐèÒª´«Ë͵ÄÊý¾Ý·ÅÈëwindow.nameÀï
c¡¢·¢Æð·½ÔÚiframeµÄonload·½·¨ÀォiframeµÄÔ´¸ÄΪºÍ×Ô¼ºÔÚͬһ¸öÓòϵĴúÀíÒ³Ãæ(ÒòΪֻÄÜÊÇͬһ¸öÓòϲÅÄÜ·ÃÎÊwindow.nameµÄÖµ)
d¡¢»ñÈ¡window.nameµÄÖµ(ËäÈ»iframeµÄÔ´¸Ä±äÁË£¬µ«ÊÇwindow.nameµÄÖµ²»»á±ä)
window.nameµÄÖµ²î²»¶à¿ÉÒÔÓÐ2MB´óС

5¡¢HTML5µÄpostMessage
a¡¢receiverWindow.postMessage(msg, targetOrigin)£¬receiverWindow¾ÍÊǶԽÓÊÕÏûÏ¢µÄwindowµÄÒýÓ㬿ÉÒÔÊÇiframeµÄcontentWindow/window.openµÄ·µ»ØÖµ/window.framesÖеÄÒ»¸ö£»msg¾ÍÊÇÒª·¢Ë͵ÄÏûÏ¢£¬stringÀàÐÍ£»targetOriginÓÃÓÚÏÞÖÆreceiverWindowµÄURI£¬°üÀ¨Ö÷ÓòÃûºÍ¶Ë¿Ú£¬Ê¹ÓÓ*”±íʾÎÞÏÞÖÆ£¬µ«ÊÇΪÁ˰²È«Æð¼û»¹ÊÇÐèÒªÉèÖÃÏ£¬ÒÔ·À°ÑÏûÏ¢·¢Ë͸ø¶ñÒâµÄÍøÕ¾£¬Èç¹ûtargetOriginµÄURIºÍreceiverWindowµÄ²»·û£¬Ôò·ÅÆú·¢ËÍÏûÏ¢¡£
b¡¢½ÓÊÕ·½Í¨¹ýmessageʼþÀ´»ñµÃÏûÏ¢£¬²¢ÇÒͨ¹ýevent.originµÄÊôÐÔÀ´ÑéÖ¤·¢ËÍ·½²¢Í¨¹ýevent.dataÀ´»ñµÃ´«Ë͵ÄÏûÏ¢ÄÚÈÝ£¬event.sourceÀ´»ñµÃ·¢ËÍ·½µÄwindow¶ÔÏó

6¡¢window.opener£¨
ÊÊÓÃÓÚIE6¡¢7£¬Ò²¾ÍÊÇoperner hack·½·¨£¬²»¹ýÃ²ËÆÏÖÔÚÒѾ²»¹ÜÓÃÁË£¬Ö»Òª´ò¹ý΢ÈíµÄ°²È«²¹¶¡.kb2497640¾Í²»ÄÜÓÃÁË
a¡¢·¢Æð·½Ò³Ãæ´´½¨Ò»¸öÒþ²ØµÄiframe£¬²¢ÇÒÔ´Ö¸Ïò½ÓÊÕ·½Ò³Ãæ
b¡¢·¢Æð·½Ò³ÃæÍ¨¹ýiframe.contentWindow.opener = {a: function(params){...}, b: function(params){...} ...}À´¶¨Òå¿É±»½ÓÊÕ·½µ÷Óõķ½·¨
c¡¢½ÓÊÕ·½Ò³ÃæÍ¨¹ýwindow.opener.a/window.opener.bÀ´µ÷Ó÷¢Æð·½¶¨ÒåµÄ·½·¨
d¡¢½ÓÊÕ·½Ò³ÃæÍ¨¹ýparent.opener = {c: function(params){...}, d: function(params){...} ...}À´¶¨Òå¿É±»·¢Æð·½µ÷Óõķ½·¨
e¡¢·¢Æð·½Ò³ÃæÍ¨¹ýopener.c/opener.dÀ´µ÷ÓýÓÊÕ·½¶¨ÒåµÄ·½·¨
ÆäʵÔÀí¾ÍÊÇÖØÖÃopener¶ÔÏó

7¡¢window.navigator
ÊÊÓÃÓÚIE6¡¢7£¬Ã²ËÆÏÖÔÚ»¹ÄÜÓ㬻¹Ã»±»²¹¶¡µô
a¡¢·¢Æð·½Ò³Ãæ´´½¨Ò»¸öÒþ²ØµÄiframe£¬²¢ÇÒÔ´Ö¸Ïò½ÓÊÕ·½Ò³Ãæ
b¡¢·¢Æð·½Ò³ÃæÍ¨¹ýwindow.navigator.a = function(params){...}; window.navigator.b = function(params){...}; À´¶¨Òå±»½Ó ÊÕ·½µ÷Óõķ½·¨
c¡¢½ÓÊÕ·½Ò³ÃæÍ¨¹ýwindow.navigator.a(params); window.navigator.b(params);À´µ÷Ó÷¢Æð·½¶¨ÒåµÄ·½·¨
d¡¢½ÓÊÕ·½Ò³ÃæÍ¨¹ýwindow.navigator.c = function(params){...}; window.navigator.d = function(params){...}; À´¶¨Òå±»·¢Æð·½µ÷Óõķ½·¨
e¡¢·¢Æð·½Ò³ÃæÍ¨¹ýwindow.navigator.c(params); window.navigator.d(params);À´µ÷ÓýÓÊÕ·½¶¨ÒåµÄ·½·¨
±¾ÎİæÈ¨¹éÀÖÓã²¥¿ÍUIÅàѵ
ѧԺËùÓУ¬»¶Ó×ªÔØ£¬×ªÔØÇë×¢Ã÷×÷Õß³ö´¦¡£Ð»Ð»£¡
×÷ÕߣºÀÖÓã²¥¿ÍUIÅàѵѧԺ
Ê×·¢£º(F8H3IKU(@43DQ[32YWO.png)

http://www.itcast.cn/ui