Firefox Iframe Issue - PullRequest
       3

Firefox Iframe Issue

1 голос
/ 23 мая 2011

FireFox Показывает всплывающее окно для открытия или сохранения диалога.

<iframe id="appFrame" runat="server" style="height: 95%; width: 100%; border: 0px;
                    z-index: -123;"></iframe>

Я использую iframe для отображения текстового документа,

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();

Может кто-нибудь, пожалуйста, помогите мне.

1 Ответ

2 голосов
/ 23 мая 2011

Вероятно, это связано с тем, что Office установил некоторые хуки в IE для поддержки просмотра документов Office "в браузере", а Firefox, Chrome и т. Д. Просто отправляют байты в приложение Office.

Не видя большеПодробная информация о том, как ResponseWriter.aspx отправляет байты в поток, и о том, какое поведение вы видите в Firefox, на данный момент я могу предположить немного больше.

В качестве примечания вывероятно, следует рассмотреть возможность использования обработчика запросов (.ashx) вместо страницы .aspx - здесь есть более чистая модель для таких запросов, поскольку она не использует большую часть жизненного цикла страницы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...