Internet Explorer has a peculiar behavior in handling cross frame scripting using the
opener pointer when a domain change is involved.
Usually a page opened with a
window.opencall is able to access the window that opened it through the
opener pointer as long as both pages have the same
document.domain set.
This is also true with IE except for a particular case when the opener page changes its domain: in the opened page, if the
opener pointer is copied in another variable before the domain is changed to match the opener's one, than even after such change is performed, the copied pointer can't be used to access the opener page.
Note that the
opener pointer itself and any copy made after the domain set are still valid.
Attached is a simple test case. To test it yourself you should change the
document.domain settings in the various files accordingly with your environment.
How is this related with Lightstreamer?
If you configure your engine to be a
NEW_SESSION or FAIL engine, than a page that wants to connect to such engine with a
seekEngine call must specify a valid pointer to the
windowof the PushPage that created such engine. If such pointer is a copy of the
opener pointer made before the domain set (see the
bind method) than the seekEngine will fail. [The issue is there even with SHARE_SESSION engines, but in that case, specifying the applicationName is usually enough to solve the problem.]
There are two possible solutions to this issue, the first one is to wait until the bind method is executed before copying the opener pointer, the other one is to set "by hand" the domain before copying such pointer.
In the common case you will directly use the
opener pointer in the seekEngine call (that must be called after the bind call) and so you'll never experience this issue.