- From: <bugzilla@jessica.w3.org>
- Date: Thu, 11 Nov 2010 10:30:54 +0000
- To: public-html-bugzilla@w3.org
http://www.w3.org/Bugs/Public/show_bug.cgi?id=11297
Summary: ß@˜Ó×ö¾ÍŒ¦ÁË Logo Google ËÑŒ¤ ËÑŒ¤ ËÑŒ¤ Cross Frame:
Åc²»Í¬¾WÓòµÄ Frame ×ö»¥„Ó
´ËƪÎÄÕÂ×î½ü¸üЕrégžé2010-10-07 11:52:56
Ŀǰ¹²ÓÐ1ƪÁôÑÔ ÏàêP˜Ë»`£º * flash iframe ²»Í¬
html * ²»Í¬¾WÓò * Cross Document Messaging
* flash Cross Frame * fr
Product: HTML WG
Version: unspecified
Platform: Other
URL: http://www.whatwg.org/specs/web-apps/current-work/#top
OS/Version: other
Status: NEW
Severity: normal
Priority: P3
Component: other Hixie drafts (editor: Ian Hickson)
AssignedTo: ian@hixie.ch
ReportedBy: contributor@whatwg.org
QAContact: public-html-bugzilla@w3.org
CC: mike@w3.org
Specification: http://dev.w3.org/html5/postmsg/
Section: http://www.whatwg.org/specs/web-apps/current-work/complete.html#top
Comment:
ß@˜Ó×ö¾ÍŒ¦ÁË Logo
Google ËÑŒ¤
ËÑŒ¤ ËÑŒ¤
Cross Frame: Åc²»Í¬¾WÓòµÄ Frame ×ö»¥„Ó
´ËƪÎÄÕÂ×î½ü¸üЕrégžé2010-10-07 11:52:56 Ŀǰ¹²ÓÐ1ƪÁôÑÔ
ÏàêP˜Ë»`£º
* flash iframe ²»Í¬ html
* ²»Í¬¾WÓò
* Cross Document Messaging
* flash Cross Frame
* frame ÁíÒ»‚€¾Wí“
* iframe ie8Ÿo·¨¿´µ½È«²¿Ò•´°
* javascript iframe ²»Í¬Ò•´° ´æÈ¡
| Powered By SiteTag
JosephJ µÄÕÕÆ¬
êPì¶×÷Õß - JosephJ
D-Link ÓÑÓ�¿Æ¼¼¹¤³ÌŽŸ¡£Ï²ºÃ‘ôÍâß\„Ó¡¢2008 Äê 5
ÔÂÍê³É¡¸Åܲ½h�u¡¹¡£Œ¦ì¶Ð¼¼Ðg¸ú³Ìʽ´aÓÐÖø�ŠÁ񵀮«ˆÌ¿ñ¡£
žéºÎÒªÓò»Í¬¾WÓòµÄ Iframe£¿
ͨ³£Ý^¾ßÒŽÄ£µÄ¾WÕ¾£¬•þ¿¼‘]ß@˜ÓµÄ°²È«ÐÔ†–î}£º®”ҪʹÓõ½µÚÈý·½ËùÌṩµÄ
JavaScript •r£¬µÃ·ÅÖÃÔÚÅcí“ÃæÍêÈ«²»Í¬¾WÓòµÄ Iframe ÖС£ÀýÈçÔÚ Yahoo!
¹¤×÷•r£¬Éú»î+ Åc UrMap ºÏ×÷µÄµØˆD¾ÍÊÇ·ÅÔÚÁíÒ»‚€¾WÓòµÄ Iframe
Öеġ£Èô²»ß@˜Ó×Ó×ö£¬UrMap ¾WÕ¾µÄ JavaScript ¿ÉÒÔëS•r¸Z¸Ä Yahoo!
¾W퓵ăÈÈÝ¡¢ÉõÖÁΣº¦µ½Ê¹ÓÃÕß¡£
Óò»Í¬¾WÓòµÄ Iframe
�í·ÅÖõÚÈý·½³Ìʽ´aµÄÇéÐΣ¬º††Î�íÕf¾ÍÊÇ£º¡¸ÎÒ²»ÐÅÈÎÄãµÄ³Ìʽ¡¢µ«ÎÒÐèÒªÄãµÄ³Ìʽ³É
žéÎÒ¾Wí“ÖеÄÒ»²¿·Ö¹¦ÄÜ¡¹£¨³ýÁË Iframe£¬ÁíÍâ߀ÓÐ ADSafe¡¢Caja¡¢Flash
µÈ·½Ê½¿ÉÒÔ×öµ½£¬µ«ááÈýÕß¶¼ÓÐÒ»¶¨µÄéT™‘¡££©
Same Origin Policy
Œ¢µÚÈý·½¾Wí“»ò³Ìʽ´a¡¢Óò»Í¬¾WÓòµÄ Iframe ·Åµ½ÄãµÄ¾Wí“ÉÏÊÇÒ»¼þ·Ç³£º††ÎµÄÊÂÇé
(<iframe src="xxx"></iframe>
ÈËÈ˶¼•þÓÃ)¡£µ«†–î}ÔÚì¶®”ƒÉÕß¾WÓò²»Í¬•r£¬JavaScript ÊÇ›]ÓÐÞk·¨Í¸ß^ parent,
window.frames, top, opener µÈ·½Ê½´æÈ¡µÄ¡£ß@¾ÍÊÇËùÖ^ Same Origin Policy
µÄÏÞÖÆ¡£
²»ÄÜ»¥„Ó£¬¾Íȱ·¦ÁË�—ÐÔÅc‘ªÓõęC•þ¡£ÀýÈç„‚„‚Ìáµ½ Yahoo! Éú»î+ Åc UrMap
µÄºÏ×÷£¬Éú»î+ ß@ß…•þÏ£ÍûÔÚí“ÃæÉÏücßxÁË¡¸²Í�d¡¹µÄßB½Y•r¡¢¾ÍÓà AJAX
È¡µÃËÅ·þÆ÷µÄ²Í�d½›¾•¶ÈÙYÓ�¡¢‚÷ßfµ½·ÅÖõ؈D²»Í¬¾WÓòµÄ Iframe ÖС¢Iframe
½Óµ½Ó�Ï¢áá¾ÍÒÔ UrMap API „Ó‘B¸üоW퓵؈DÉϵÄ×ù˜Ëüc¡£¶øß@˜ÓµÄÐОéÒ²•þÒò Same
Origin Policy Ÿo·¨Ö±½Óß_³É¡£
Cross Document Messaging
WHATWG Ìá³öÁË Cross Document Messaging£¨Ò²ÊÇ HTML 5 µÄ Web
Messaging£©�í½â›Q´ËÒ»†–î}¡£º††Î�íÕf£¬Äã¿ÉÒÔ�GÈκΠString µ½ÈκÎÄã¾Wí“ÉϵÄ
Window Îï¼þ£¬µ«ÊÇÔ“ Window Îï¼þÒª²»ÒªÌŽÀí´Ë
String£¬¾ÍÊÇËü×Ô¼ºµÄÅДࣨ•þÒ»�ãÌṩ�íÔ´ Window µÄ domain£©¡£¹ Àý³Ìʽ´aÈçÏ£º
A ¾Wí“ (http://yahoo.com/a.html) ·ÅÖÃÁËÒ»‚€ name=urmap µÄ iframe£º
<iframe name="urmap" src="http://yahoomashup.com/urmap.html"></iframe>
A ¾Wí“ÏëÒª‚÷ßf Hello World µÄÓ�Ï¢½o´Ë Iframe£º
<script>
/* ÎÒÊÇ yahoo.com */
window.frames['urmap'].postMessage("Hello World!", "*");
</script>
Iframe ÑeµÄ B ¾Wí“ (http://yahoomashup.com/urmap.html) ¿ÉÒÔß@˜Ó½Óµ½ÙYÁÏ£º
/* ÎÒÊÇ yahoomashup.com */
window.onmessage = function (e) {
if (e.origin == "yahoo.com") { // ®”�í×Ô yahoo.com •r...
alert(e.data); // ï@ʾ "Hello World!"
}
}
ºÃÏûÏ¢ÊÇĿǰ´ó¶à”µµÄÖ÷Á÷žgÓ[Æ÷Ö§Ô®´Ë·½Ê½£¬°üÀ¨ Firefox 3, Google Chrome,
Opera, IE8, IE9 ½Ô¿É¡£‰ÄÏûÏ¢„tÊÇ IE6 Åc IE7 ›]Óд˹¦ÄÜ¡£
Iframe In Iframe Hack
Èç¹û´ËÖ÷î}ÓÐÈκΠA-Grade
žgÓ[Æ÷Ÿo·¨Ê¹Óã¬ÄÇÒ²›]Œ‘ß@ƪÎÄÕµıØÒª¡£Ö»Ìṩ°ëÌ××÷·¨¾ÍßdµôÁË£¨ß@Ò²ÊÇÎÒŒ¦´ó¶à
”µ HTML 5 µÄм¼Ðg¸Ðµ½Àä¸ÐµÄÔÒò£¬IE[6-8] must die
Ò²Ö»ÊÇé_°lÕ߸οàϺ°Ë¬µÄ®aÎ¬FŒ�ÊÀ½çÊDz»Äܲ»¹Ü IE µÄʹÓÃÕߵ쩯äŒ�ÔçÔÚ 2007
Äê¾ÍÓÐһЩ·ÇÕýÒŽ Cross Frame
µÄ½â·¨¡£ß@ƪÎÄÕÂÊÇĿǰ½âÕf×îÔ”¼šµÄ×÷·¨£ºCross-Domain Communication with
IFrames
ÆäŒ�ÔÀíÏà®”º††Î£¬¾ÍÊÇ®” A ¾Wí“Òª‚÷ßfÓ�Ï¢½o B ¾W퓵ģ¨ÔÚ Iframe
ÖУ©•r£¬ÏȄӑB®aÉúÒ»‚€Åc B ¾Wí“ͬ¾WÓòµÄ Iframe£¬´Ë„Ó‘B Iframe ƒÈµÄ JavaScript
¼´¿ÉÀûÓà window.frames È¡µÃ B ¾W퓼°×öÈκÎÐ޸ġ£ÁíÍâ߀¿É͸ß^ÐÞ¸ÄÉú³É Iframe
ÖÐµÄ URL hash (#)¡¢×Œ JavaScript
¿ÉÒÔÒÀÕÕ²»Í¬…¢”µ×ö„Ó×÷¡£ß@‚€×÷·¨µÄȱücÊÇ£¬Äã±ØíšÁíÍâÔÚ½ÓÊն˵ľWÓò·ÅÖÃÒ»Ö§
Proxy µÄ HTML ™n¡¢×÷žé„Ó‘B Iframe µÄ¾WÖ·¡£
YAHOO.util.CrossFrame º¯Ê½Žì
ëmÈ»ÔÀíºÜº††Î£¬µ«ÊÇÒªÄ܉òÓÐϵ½yµÄœÏͨ¡¢Œ‘³Ìʽ¾ÍÊÇÒ»´óÌô‘ðÁË¡¢ÖÐégµÄС¼š¹�ÆäŒ�
ÊǺܶàµÄ¡£ÐҺà Yahoo! µÄǰ¶Ë¹¤³ÌŽŸ Julien Lecomte Óà YUI 2 Œ‘ÁËÒ»‚€ CrossFrame
Utility¡£
YAHOO.util.CrossFrame.send(
"http://www.y.com/proxy.html",
"frames['mashup']",
"message"
);
YAHOO.util.CrossFrame.onMessageEvent.subscribe(
function (type, args, obj) {
var message = args[0];
var domain = args[1];
// Do something with the incoming message...
}
);
¿´µ½Áˆ᣿ß@ß…ÆäŒ�¾ÍÊÇÓà YAHOO.util.CrossFrame.send() È¡´ú HTML5 µÄ
window.postMessage()¡¢ÓÃ YAHOO.util.CrossFrame.onMessageEvent È¡´ú
window.onmessage ʼþ¡£†ÎÒ» API ½éÃæ¡¢ËùÓОgÓ[Æ÷¶¼ÄÜÓã¡
Óà YUI 3 ¸ÄŒ‘žé Y.CrossFrame
Òòžé¹«Ë¾ƒÈÓõÄÊÇ YUI 3£¬ÓЕrégµÄÔ’®”ȻϣÍû¸ÄŒ‘¡£ÁíÍâ¾ÍÊÇ Julien
®”•rŒ‘ÄÇÆªÎÄÕµĕrégücÊÇ 2007 Ä꣬postMessage Ö»ÓÐ Opera ÓÐŒ�×÷£¬ËùÒÔ Julien
Œ¦ì¶ Opera ÒÔÍâžgÓ[Æ÷¶¼’ñÓà Iframe in Iframe
µÄ×÷·¨£¬Ð§ÄܲîÉÏÔS¶à¡£Ò²Òò´ËÎҸĞéÒÔ postMessage žéÖ÷¡¢Iframe in Iframe
žéÝoµÄ×÷·¨Ý^ÓÐЧÂÊ¡£
Y.CrossFrame.postMessage(
"Hello World!", // Òª‚÷ßfµÄÓ�Ï¢
"frames['urmap']", // Òª‚÷ßfµÄÒ•´°£¨ÕˆÓà String£©
{proxy:"http://yahoomashup.com/b.html"} // ²»Ö§Ô® postMessage
µÄžgÓ[Æ÷•þÓõ½µÄ proxy ¾WÖ·
);
Y.Global.on("crossframe:message", function (message, domain, url) {
alert(message);
});
ĿǰœyÔ‡ IE6, IE7, IE8, FF3, Chrome, Opera ¶¼›]ÓІ–î}£¨Ä£”MÆ÷ÏñÊÇ IE Tester
Ÿo·¨Ê¹Óã©¡£Ï£ÍûŒ¦ÄúÓÐËùŽÍÖú :)
ÏàêPßB½Y
* GitHub: yui3-crossframe
* ¹ Àý³Ìʽ 1
* ¹ Àý³Ìʽ 2
ǰһƪ£ºÔÚ 2010 COSCUP Ö÷Öv¡¸½¨Á¢Ç°¶Ëé_°lˆFê ¡¹ ááһƪ£ºHTML <dl/>, <dt/> Åc
<dd/> µÄÕ`ÓÃ
Comments
1.
Ô£²¨ 2010-10-08 16:54:51
ѧϰÁË£¬³¢ÊÔÒ»ÏÂ
Leave a Reply
•¿·Q£º ±ØÌî¡£
Email£º ·Ç±ØÌî¡£ÈôÌžé²»¹«é_™Ú룬ƒH¹©Õ¾éL…¢¿¼Â“ÀM¡£
ƒÈÈÝ£º ±ØÌî¡£ÏÞ 255 ‚€×ÖÔªÒԃȡ£
Ëͳö
Facebook Comment
“½jÎÒ RSS Feed
© 2007 Ting-yu Chiang All rights reserved.
hemidemi_49fec64cc31b2b2c0dbfbcc5ce316dbf5e21fa24
MyBlogLog ClickTagging
29th Most Popular Outgoing Link
Posted from: 61.152.124.234
--
Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
Received on Thursday, 11 November 2010 10:30:56 UTC