【问题标题】:Angularjs pdf viewer full screen view issue in IEIE中的Angularjs pdf查看器全屏查看问题
【发布时间】:2020-04-12 07:16:20
【问题描述】:

我在我的项目中使用 angularjs pdf 查看器,它在 Google Chrome 上运行良好,但是当我在 PDF 查看器中使用全屏按钮并按转义按钮进入全屏时,它与 IE 一起使用它会关闭 PDF 查看器预期的行为是它应该关闭全屏模式而不是查看器,此功能适用于 Google Chrome。不知道如何控制这种行为

非常感谢任何帮助。

仅供参考, 我正在使用 IE 11。 正在从服务器(Azure 应用服务)加载 PDF 文件。 服务器应用程序是在 C#.net core 中构建的

这是我的代码

包含在 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);
});

【问题讨论】:

  • 能否请您解释一下PDF查看器的更多细节,它是否是第三方插件?如果您可以发布足够多的代码或创建有关 pdf 查看器的示例,我们可能更容易帮助您解决问题。此外,我已经测试了PDF.js Demo,它在 IE 11 浏览器中运行良好,你可以尝试在你的应用程序中使用这个库。
  • @ZhiLv-MSFT 我正在使用npmjs.com/package/angular-pdfjs-viewer,它在 IE 上运行良好,但唯一的问题是当我进入全屏并按 Escape 键时它会关闭查看器本身而不是我希望关闭全屏仅限模式。添加了一些代码来提问。这里要强调的另一件事是我可以使用 F11 键关闭全屏模式。

标签: angularjs internet-explorer angularjs-directive pdf-viewer


【解决方案1】:

尝试使用 F12 开发者工具检查 F12 控制台标签是否有错误。

基于the document,我测试过the angular-pdfjs-viewer demo,下载包并安装angular-pdfjs-viewer及相关依赖后,在我的IE11浏览器中会显示如下错误:

AngularJS: disabling automatic bootstrap. &lt;script&gt; protocol indicates an extension, document.location.href does not match.

我尝试在 app.js 文件末尾添加以下代码:

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

添加上述代码后,错误消失。

然后,如果我使用 PDF 查看器中的全屏按钮以全屏模式打开 pdf,我可以通过单击 ESC 按钮退出全屏模式。但是,如果我使用 F11 快捷键以全屏模式打开 PDF,则无法使用 ESC 键存在全屏模式,只能使用 F11 快捷键退出。你可以试试看。

此外,您还可以尝试清除 IE 浏览器数据(缓存、cookie 等)或重置 IE 浏览器设置。也许他们可以帮助解决问题。

【讨论】:

  • 我试过了,但我的 pdf 查看器在按下退出按钮后仍然关闭,我的 pdf 查看器嵌入在模型弹出窗口中,我想这可能是一个问题,但如果这是问题,它应该在所有浏览器它适用于 Chrome。
  • 同意你的看法。也许这个问题与模型弹出窗口有关,我检查了 Bootstrap 模式弹出窗口和 JQuery UI 对话框,在显示模式弹出窗口后,如果我们单击 ESC 键,它将关闭模式弹出窗口。另外我也在Chrome浏览器中测试过,点击ESC键也会关闭弹窗。您使用的是哪种模式弹出窗口?尝试验证它。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-13
  • 2011-10-02
  • 1970-01-01
  • 1970-01-01
  • 2018-05-09
  • 1970-01-01
  • 2011-11-01
相关资源
最近更新 更多