Flash IE历史记录跟踪、iFrame和跨域错误

Flash IE历史记录跟踪、iFrame和跨域错误,flash,internet-explorer,cross-domain,browser-history,scriptresource.axd,Flash,Internet Explorer,Cross Domain,Browser History,Scriptresource.axd,这就是交易。我们有一个运行在HTML文件中的Flash应用程序。对于一个页面,我们在ASP.NET中调用IFRAME中的遗留报告系统。然后,此页面使用跨域脚本(document.domain=“domain”在两个页面中都设置)与Flash应用程序通信 这一切都有效 现在kicker.Flash已经启用了历史跟踪。这将加载history.js文件,该文件创建了一个div标记来存储页面更改,以便后退和前进按钮在浏览器中工作 这适用于Firefox和Chrome,因为它们创建了一个div标记 然而

这就是交易。我们有一个运行在HTML文件中的Flash应用程序。对于一个页面,我们在ASP.NET中调用IFRAME中的遗留报告系统。然后,此页面使用跨域脚本(document.domain=“domain”在两个页面中都设置)与Flash应用程序通信

这一切都有效

现在kicker.Flash已经启用了历史跟踪。这将加载history.js文件,该文件创建了一个div标记来存储页面更改,以便后退和前进按钮在浏览器中工作

这适用于Firefox和Chrome,因为它们创建了一个div标记

然而

在Internet Explorer中,history.js创建另一个名为ie_historyFrame的IFRAME(而不是DIV)。当ScriptResource.axd代码试图通过以下方式访问此IFRAME时:

var frameDoc = this._historyFrame.contentWindow.document;
我们收到一条“访问被拒绝”的错误消息。啊

  • 我们已尝试获取此IFRAME的句柄并插入document.domain代码。失败
  • 我们尝试编辑historytemplate.html文件,flex也使用该文件包含document.domain…失败
  • 我已经试着编辑了基础文档 ASP.NET页以禁用历史记录 ScriptManager中的跟踪 控制,失败
在这一点上,我真是束手无策。我们有一些用户需要使用IE来访问这个网站。他们是大客户,我们不能告诉他们只使用Firefox


<> >强> >非常感谢。>/P>> P>我知道这是一个最后的场景,但是你应该考虑IE不可能支持的情况。你需要客观证据,一些清楚地显示问题的样本,以及一个关于保留标准的好处的详细预演。而不是专门针对IE的(可能是过时的)版本进行编码


这永远无法保证,但如果你能说服他们,有客观的好处可以降低短期和长期成本,那么值得一试——只要记住,对于许多客户来说,他们关心的是业务案例,而不是技术案例。

不确定,但从服务器发送此标头可能有效:

// in PHP...
header('P3P: CP="IDC DSP COR CURa ADMa OUR IND PHY ONL COM STA"',true);

我用它来设置iframe中JS代码中的cookies。

你需要Flash应用程序中的历史记录管理吗?是否正在使用它?你可以使用编译器参数禁用它。为什么你无法将
文档.domain=
代码添加到
ie_historyFrame