В современных браузерах наши системы https Stage / Production будут появляться, но не отображать / загружать документы PDF и Word на новых вкладках / окнах / панели браузера. Документ не загружается, и нет очевидного способа загрузить документ (хотя мы видим его, например, в Chrome Inspect).
У нас есть четыре среды - Dev, Test, Stage, Production. Dev и Test используют http. Dev / Тестовая работа. Этап / Производство не.
Мы прочитали:
Открыть URL в новой вкладке (а не в новом окне)
Открыть ссылку в новой вкладке в программном обеспечении реакции маршрутизатора
Использовать window.open, но заблокировать использование window.opener
После многих попыток мы остановились на :
const WindowFeatures: string = 'noopener,noreferrer';
const win = window.open(FileURL, '_blank', WindowFeatures);
if (win !== null) {
win.focus();
}
У нас есть клиент React / Redux / Typescript и веб-сервер Microsoft IIS.
Наши клиенты React / Redux / Typescript расположены по адресу:
http (s): // app- [dev | тест | этап | ] .domain.com /
Документы доступны из виртуального каталога IIS по адресу:
http (s): // app- [dev | тест | этап | ] .domain.com / Documents / *. pdf
http (s): // app- [dev | тест | этап | ] .domain.com / Documents / *. docx
Во всех браузерах, старых и новых, в dev / test (http) документы открываются без проблем в новой вкладке, окне или загружаются после щелкнув по значку в клиенте React.
На этапе / производство (https) в современных браузерах появляется новое окно / вкладка / загрузка с URL-адресом целевого документа в адресе браузера, но в браузере отображает нашу целевую страницу React, как будто пользователь не вошел в систему с ошибкой 404, видимой в Chrome Inspect ищет http (s): // app- [dev | тест | этап | ] .domain.com / manifest. json.
На некоторых компьютерах в Edge при нажатии на блокировщик всплывающих окон отображается документ. В Chrome, если мы очищаем данные браузера, документ иногда отображается, но каждый раз, когда мы открываем Chrome, нам приходится снова очищать данные браузера, и на некоторых машинах он никогда не работает. В Opera и Firefox документ не отображается.
В старых IE документы отображаются (но приложение React работает плохо). Если мы отправим ссылку на документ в электронном письме HTML и нажмем на ссылку электронной почты, документ отобразится в браузере по умолчанию. Однако, если мы вставим ссылку в Chrome, Opera или Firefox, документ не отобразится и покажет нашу целевую страницу в отключенном состоянии.
Наконец, когда мы размещаем документы на другой домен, все отлично работает во всех средах / браузерах.
http (s): // app- [dev | тест | этап | ] documents.domain.com / *. pdf
http (s): // app- [dev | тест | этап | ] document.domain.com / *. docx
Мы бы хотели разместить все в одном домене, хотя вышеприведенное может быть откатом.
Любые идеи будут очень полезны оценили.