FireFox显示弹出的打开或保存对话框。
<iframe id="appFrame" runat="server" style="height: 95%; width: 100%; border: 0px;
z-index: -123;"></iframe>
我正在使用iframe来显示word文档,
document.getElementById("ctl00_GridContentPlaceHolder_appFrame").src = "ResponseWriter.aspx?docid=" + docId + "&doctype=" + docType + "&type=" + type;
我正在调用ResponseWriter.aspx来编写它在IE中运行良好但不在Firefox中的字节,这是ResponseWriter.aspx的代码
Response.ClearHeaders();
Response.ClearContent();
Response.AddHeader("MIME Type", type.Trim());
Response.AppendHeader("content-disposition",
"inline;attachment; filename=" + "Unknown." + docType);
Response.AddHeader("Content-Length", _fileArray.Length.ToString());
Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache);
Response.ContentType = type.Trim();
Response.BinaryWrite(_fileArray.ToArray());
Response.End();
任何人都可以帮助我。
答案 0 :(得分:2)
这可能是因为Office在IE中安装了一些钩子以支持“在浏览器中”查看Office文档,而Firefox,Chrome等只是将字节发送到Office应用程序。
如果没有看到“ResponseWriter.aspx”将字节发送到流的方式的更多细节以及您在Firefox中看到的行为,那么我现在无法猜到更多。
作为一个注意事项,您应该考虑使用request handler (.ashx)而不是.aspx页面 - 这样可以为这些类型的请求提供更清晰的模型,因为它不会占用大部分页面生命周期 - 周期。