IE History Tracking, IFRAMES, and Cross Domain error...
Posted
by peiklk
on Stack Overflow
See other posts from Stack Overflow
or by peiklk
Published on 2010-06-02T17:45:23Z
Indexed on
2010/06/13
16:42 UTC
Read the original article
Hit count: 580
So here's the deal. We have a Flash application that is running within an HTML file. For one page we call a legacy reporting system in ASP.NET that is within an IFRAME. This page then communicates back to the Flash application using cross-domain scripting (document.domain = "domain" is set in both pages.
THIS ALL WORKS.
Now the kicker. Flash has history tracking enabled. This loads the history.js file that created a div tag to store page changes so the back and forward buttons work in the browser.
Which works for Firefox and Chrome as they create a div tag.
HOWEVER
In Internet Explorer, history.js creates another IFRAME (instead of a DIV) called ie_historyFrame. When the ScriptResource.axd code attempts to access this with:
var frameDoc = this._historyFrame.contentWindow.document;
we get an "Access is Denied" error message. ARGH!
- We've tried getting a handle to this IFRAME and inserting the document.domain code. FAIL.
- We've tried editing the historytemplate.html file that flex also uses to include document.domain... FAIL.
- I've tried to edit the underlying ASP.NET page to disable history tracking in the ScriptManager control. FAIL.
At my wit's end on this one. We have users who need to use IE to access this site. They are big clients who we cannot tell to just use Firefox.
Any suggestions would be greatly appreciated.
© Stack Overflow or respective owner