oyvindkinsey / easyXDM

A javascript library providing cross-browser, cross-site messaging/method invocation.
http://easyxdm.net
MIT License
2.38k stars 265 forks source link

Flash transport on IE6 - 7 page reload issue #115

Closed cast closed 13 years ago

cast commented 13 years ago

When a fallback occurs to flash on IE6 and 7 using virtualpc everything works on my page (http://users.telenet.be/testJS) and the xhr example.

However when the page is refreshed: the process ends at HAS_NAME_PROPERY_BUG = true I'm using easyXDM-2.4.14.117

First load trace:

users.telenet.be - 20:11:29.465:{Private}: firing dom_onReady users.telenet.be - 20:11:29.465:easyXDM.Rpc: constructor users.telenet.be - 20:11:29.465:{Private}: preparing transport stack users.telenet.be - 20:11:29.465:{Private}: resolved url 'http://homeserver.michaelwillemse.com:8082/xdm/xhrframe.html' users.telenet.be - 20:11:29.475:{Private}: selecting protocol: 6 users.telenet.be - 20:11:29.475:easyXDM.stack.FlashTransport: constructor users.telenet.be - 20:11:29.475:easyXDM.stack.QueueBehavior: constructor users.telenet.be - 20:11:29.475:easyXDM.stack.RpcBehavior: init users.telenet.be - 20:11:29.475:easyXDM.stack.RpcBehavior: creating stubs users.telenet.be - 20:11:29.475:easyXDM.stack.RpcBehavior: creating method request users.telenet.be - 20:11:29.475:easyXDM.stack.FlashTransport: init users.telenet.be - 20:11:29.475:easyXDM.Fn: storing function flash_default9874_init users.telenet.be - 20:11:29.475:easyXDM.Fn: storing function flash_default9874_onMessage users.telenet.be - 20:11:29.475:{Private}: resolved url 'http://homeserver.michaelwillemse.com:8082/xdm/easyxdm.swf' users.telenet.be - 20:11:29.475:easyXDM.stack.FlashTransport: creating factory with SWF from homeserver.michaelwillemse.com users.telenet.be - 20:11:29.475:easyXDM.Fn: storing function flash_loadedhomeserver.michaelwillemse.com users.telenet.be - 20:11:29.485:easyXDM.stack.RpcBehavior: executing method request users.telenet.be - 20:11:29.555: swf: enabling communication with users.telenet.be users.telenet.be - 20:11:29.565: swf: calling init users.telenet.be - 20:11:29.565:easyXDM.Fn: retrieving function flash_loadedhomeserver.michaelwillemse.com users.telenet.be - 20:11:29.575: swf: creating channel default9874 users.telenet.be - 20:11:29.585: swf: listening on _default9874_2d730ffcfda1d_provider users.telenet.be - 20:11:29.595:{Private}: creating frame: http://homeserver.michaelwillemse.com:8082/xdm/xhrframe.html?xdm_e=http%3A%2F%2Fusers.telenet.be&xdm_c=default9874&xdm_p=6&xdm_s=2d730ffcfda1d users.telenet.be - 20:11:29.595:{Private}: HAS_NAME_PROPERTY_BUG: true users.telenet.be - 20:11:29.725: swf: allowDomain: true users.telenet.be - 20:11:29.725: swf: received ready users.telenet.be - 20:11:29.735: swf: calling ready users.telenet.be - 20:11:29.735:easyXDM.Fn: retrieving function flash_default9874_init users.telenet.be - 20:11:29.745: swf: level: status users.telenet.be - 20:11:29.755:easyXDM.stack.FlashTransport: firing onReady users.telenet.be - 20:11:29.755:easyXDM.stack.QueueBehavior: dispatching from queue users.telenet.be - 20:11:29.765: swf: sending to _default9874_2d730ffcfda1d_consumer, length is 146 users.telenet.be - 20:11:29.765: swf: fragmentlength: 146, remaining: -39854 users.telenet.be - 20:11:29.775:easyXDM.stack.QueueBehavior: removing myself from the stack users.telenet.be - 20:11:30.256: swf: level: status users.telenet.be - 20:11:31.277: swf: allowDomain: true users.telenet.be - 20:11:31.297: swf: received final fragment users.telenet.be - 20:11:31.317:easyXDM.Fn: retrieving function flash_default9874_onMessage users.telenet.be - 20:11:31.327:easyXDM.stack.FlashTransport: received message users.telenet.be - 20:11:31.327:easyXDM.stack.RpcBehavior: received return value destined to callback with id 1

Reload trace:

users.telenet.be - 20:14:50.764:{Private}: firing dom_onReady users.telenet.be - 20:14:50.774:easyXDM.Rpc: constructor users.telenet.be - 20:14:50.774:{Private}: preparing transport stack users.telenet.be - 20:14:50.774:{Private}: resolved url 'http://homeserver.michaelwillemse.com:8082/xdm/xhrframe.html' users.telenet.be - 20:14:50.774:{Private}: selecting protocol: 6 users.telenet.be - 20:14:50.774:easyXDM.stack.FlashTransport: constructor users.telenet.be - 20:14:50.774:easyXDM.stack.QueueBehavior: constructor users.telenet.be - 20:14:50.774:easyXDM.stack.RpcBehavior: init users.telenet.be - 20:14:50.774:easyXDM.stack.RpcBehavior: creating stubs users.telenet.be - 20:14:50.774:easyXDM.stack.RpcBehavior: creating method request users.telenet.be - 20:14:50.774:easyXDM.stack.FlashTransport: init users.telenet.be - 20:14:50.774:easyXDM.Fn: storing function flash_default699_init users.telenet.be - 20:14:50.774:easyXDM.Fn: storing function flash_default699_onMessage users.telenet.be - 20:14:50.774:{Private}: resolved url 'http://homeserver.michaelwillemse.com:8082/xdm/easyxdm.swf' users.telenet.be - 20:14:50.774:easyXDM.stack.FlashTransport: creating factory with SWF from homeserver.michaelwillemse.com users.telenet.be - 20:14:50.774:easyXDM.Fn: storing function flash_loadedhomeserver.michaelwillemse.com users.telenet.be - 20:14:50.794:easyXDM.stack.RpcBehavior: executing method request users.telenet.be - 20:14:50.874: swf: enabling communication with users.telenet.be users.telenet.be - 20:14:50.884: swf: calling init users.telenet.be - 20:14:50.894:easyXDM.Fn: retrieving function flash_loadedhomeserver.michaelwillemse.com users.telenet.be - 20:14:50.904: swf: creating channel default699 users.telenet.be - 20:14:50.914: swf: listening on _default699_e885d8a9455d3_provider users.telenet.be - 20:14:50.924:{Private}: creating frame: http://homeserver.michaelwillemse.com:8082/xdm/xhrframe.html?xdm_e=http%3A%2F%2Fusers.telenet.be&xdm_c=default699&xdm_p=6&xdm_s=e885d8a9455d3 users.telenet.be - 20:14:50.934:{Private}: HAS_NAME_PROPERTY_BUG: true

PS: easyxdm is used as a fallback on the page itself, by default it will use standard CORS without iframes, so you won't see any tracing in modern browsers minus opera

oyvindkinsey commented 13 years ago

Could you please try the current master? I believe this was fixed with 2fa3a6e15cd201d91cbf5001c90532e17943a20a I'll try to push a new version later today :)

cast commented 13 years ago

I can confirm this issue is fixed in the current master, thanks oyvindkinsey ;)