Angularjs pdf viewer проблема с полноэкранным просмотром в IE

Я использую средство просмотра pdf angularjs в своем проекте, он отлично работает с Google Chrome, но при использовании его с IE, когда я перехожу в полноэкранный режим с помощью полноэкранной кнопки в средстве просмотра PDF и нажимаю кнопку выхода, он закрывает ожидаемое поведение средства просмотра PDF, оно должно закрыться полноэкранный режим, а не просмотрщик, этот функционал отлично работает с Google Chrome. Не знаю, как контролировать это поведение

Любая помощь высоко ценится.

Просто к вашему сведению, я использую IE 11. Файл PDF загружается с сервера (служба приложений Azure). Серверное приложение построено на ядре C#.net.

Вот мой код

включено в app.js

app.config(function(pdfjsViewerConfigProvider) {
   pdfjsViewerConfigProvider.setWorkerSrc("/pdf.js-viewer/pdf.worker.js");
   pdfjsViewerConfigProvider.setCmapDir("/pdf.js-viewer/cmaps");
   pdfjsViewerConfigProvider.setImageDir("./pdf.js-viewer/images");
   pdfjsViewerConfigProvider.disableWorker();
   pdfjsViewerConfigProvider.setVerbosity("infos");  // "errors", "warnings" or "infos"
  angular.lowercase = angular.$$lowercase;
});

включенный пакет

    "angular-pdfjs-viewer": {
  "version": "2.0.1",
  "resolved": "https://registry.npmjs.org/angular-pdfjs-viewer/-/angular-pdfjs-viewer-2.0.1.tgz",
  "integrity": "sha1-KnYVcp/UC9/01VVyY6aES4Mc=",
  "requires": {
    "bower": "^1.8.2"
  }
}

вот как я включил это на свою страницу

<pdfjs-viewer data="$ctrl.data"></pdfjs-viewer>

контроллер

$scope.data = null; // this is loaded async
$http.get("http://example.com/file.pdf", {
  responseType: 'arraybuffer'
}).then(function (response) {
  $scope.data = new Uint8Array(response.data);
});

person SwapnilKumbhar    schedule 12.04.2020    source источник
comment
Не могли бы вы подробнее рассказать о программе просмотра PDF, является ли она сторонним плагином? Если бы вы могли опубликовать достаточно кода или создать образец средства просмотра PDF, нам было бы легче помочь вам решить проблему. Кроме того, я протестировал демонстрацию PDF.js, она хорошо работает в браузере IE 11, вы можете попробовать использовать эту библиотеку в своем приложении.   -  person Zhi Lv    schedule 13.04.2020
comment
@ZhiLv-MSFT Я использую npmjs.com/package/angular-pdfjs-viewer, он отлично работает с IE, но единственная проблема заключается в том, что когда я перехожу в полноэкранный режим и нажимаю клавишу Escape, он закрывает само средство просмотра, вместо этого я ожидаю закрыть только полноэкранный режим. Добавил код в вопрос. Еще одна вещь, на которую следует обратить внимание, это то, что я могу закрыть полноэкранный режим с помощью клавиши F11.   -  person SwapnilKumbhar    schedule 14.04.2020


Ответы (1)


Попробуйте использовать инструменты разработчика F12, чтобы проверить, есть ли ошибка на вкладке консоли F12.

На основе документа я протестировал демонстрация angular-pdfjs-viewer после загрузки пакета и установки angular-pdfjs-viewer и связанные зависимости, в моем браузере IE11 будет отображаться следующая ошибка:

AngularJS: disabling automatic bootstrap. <script> protocol indicates an extension, document.location.href does not match.

Я попытался добавить следующий код в конец файла app.js:

angular.element(document).ready(function () {  
    angular.bootstrap(document, ['app']);
});

После добавления вышеуказанного кода ошибка исчезает.

Затем, если я открою PDF-файл в полноэкранном режиме с помощью полноэкранной кнопки в средстве просмотра PDF, я смогу выйти из полноэкранного режима, нажав кнопку ESC. Но если я открою PDF-файл в полноэкранном режиме с помощью ярлыка F11, я не смогу использовать полноэкранный режим с помощью клавиши ESC, он выйдет только с помощью ярлыка F11. Можешь попробовать проверить.

Кроме того, вы также можете попробовать очистить данные браузера IE (кэш, файлы cookie и т. д.) или сбросить настройки браузера IE. Возможно, они помогут решить проблему.

person Zhi Lv    schedule 16.04.2020
comment
Я попробовал это, но мое средство просмотра PDF все равно закрывается после нажатия кнопки выхода, мое средство просмотра PDF встроено во всплывающее окно модели, я думаю, это может быть проблемой, но если это проблема, она должна быть согласованной во всех браузерах. Он отлично работает с Chrome. - person SwapnilKumbhar; 16.04.2020
comment
Согласен с тобой. возможно, проблема связана с всплывающим окном модели, я проверил всплывающее окно Bootstrap Modal и диалоговое окно пользовательского интерфейса JQuery, после отображения модального всплывающего окна, если мы нажмем клавишу ESC, оно закроет модальное всплывающее окно. Кроме того, я также тестирую его в браузере Chrome, он также закрывает модальное всплывающее окно при нажатии клавиши ESC. Какой тип модального всплывающего окна вы используете? Попробуйте проверить это. - person Zhi Lv; 17.04.2020