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: 577

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

Related posts about flash

Related posts about internet-explorer