У нас проблема с получением документов Word для загрузки в IE7 / IE8 с помощью вызовов window.open.Эта проблема в настоящее время возникает только в нашей производственной среде с включенным SSL - наша тестовая среда работает правильно, но НЕ включает SSL.Обе среды работают под управлением IIS6 и используют встроенную аутентификацию.
Javascript довольно прост:
function OpenNewWindow(sURL, sName, sHeight, sWidth)
{
var sFeatures = "top=40,left=190,toolbar=no,location=no,directories=no,menubar=no,scrollbars=yes,resizable=yes,status=no";
sFeatures = "width=" + sWidth + ",height=" + sHeight + "," + sFeatures;
var newWindow = window.open(sURL, sName, sFeatures);
newWindow.focus();
}
Переданной функции передаются относительные пути и сама страница (страница ASP.NET) предварительно отформатирован HTML.Основным кодом для страницы является установка типа содержимого «application / msword» и позволяет ASP.NET записывать содержимое страницы в выходной поток.
Когда вызывается вышеуказанная функция, новаяокно создается, а затем сразу же закрывается без каких-либо ошибок или подсказок.Насколько я могу судить (с помощью Fiddler), кэширование включено, а сжатие HTTP НЕ включено.Фактическое содержимое документа возвращается, но между IE и Word, похоже, есть какое-то разъединение.
Странность, которую я заметил, заключается в том, что в тесте возникает проблема согласования, и на нее отвечает Kerberos.Билет во время производства не вызывает / ответ не возникает (хотя один из них происходит на начальной странице, и ответ NTLM).Кроме того, прямая ссылка на соответствующую страницу (документ Word) ДЕЙСТВИТЕЛЬНО работает в обеих средах.Наконец, снятие флажка «Подтверждение открытия после загрузки» для типа файла .DOC позволяет успешно открыть документ (но НЕ является решением, которое мы готовы использовать для сотрудников 2000+).
Я знаю этоЭто ограниченная информация, и мне может понадобиться добавить больше деталей, но я потратил большую часть дня на поиск / тестирование и не чувствую себя ближе к решению этой проблемы.Любая помощь будет принята с благодарностью!
Заголовки для обеих сред:
Запрос TEST (работает правильно, без SSL) GET /webapps/gfcse/CSEPrint.aspx?mode=ReadOnly&sSurveyId=3060 HTTP / 1.1Принимаем: / Accept-Language: en-usUA-CPU: x86Accept-Encoding: gzip, выкачатьUser-Agent: Mozilla / 4.0 (совместимо; MSIE 7.0; Windows NT 5.1; InfoPath.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; OfficeLiveConnector.1.3; OfficeLivePatch.0.0)Host: pc55516svmaПодключение: Keep-AliveCookie: ASP.NET_SessionId = elto5pakakvepbju42w24eefАвторизация: переговоры [snip]
TEST response HTTP / 1.1 200 ОКCache-Control: приватныйКонтент-длина: 26458Тип контента: приложение / msword;кодировка = UTF-8Сервер: Microsoft-IIS / 6.0X-Powered-By: ASP.NETMicrosoftSharePointTeamServices: 12.0.0.6421WWW-Аутентификация: переговоры [snip]X-AspNet-версия: 2.0.50727Дата: чт, 08 июля 2010 15:14:26 GMT[содержание документа]
Запрос ПРОИЗВОДСТВА (НЕ работает, SSL включен) GET /gfcse/CSEPrint.aspx?mode=ReadOnly&sSurveyId=3582 HTTP / 1.1Принимаем: / Accept-Language: en-usUA-CPU: x86Accept-Encoding: gzip, выкачатьUser-Agent: Mozilla / 4.0 (совместимо; MSIE 7.0; Windows NT 5.1; InfoPath.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; OfficeLiveConnector.1.3; OfficeLivePatch.0.0)Хост: intranet.gfnet.comПодключение: Keep-AliveCookie: ASP.NET_SessionId = h2xw0ebweb4e2455iab1tvbf
ПРОИЗВОДСТВЕННЫЙ ответ HTTP / 1.1 200 ОКCache-Control: приватныйКонтент-длина: 26438Тип контента: приложение / msword;кодировка = UTF-8Сервер: Microsoft-IIS / 6.0MicrosoftSharePointTeamServices: 12.0.0.6219X-Powered-By: ASP.NETX-AspNet-версия: 2.0.50727Дата: четверг, 08 июля 2010 г. 15:07:41 GMT[содержание документа]