IE History Tracking, IFRAMES, and Cross Domain error...
- by peiklk
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.