首页 > 解决方案 > JSPDF 2.3.0 with IE11 in SharePoint on Premises not load

问题描述

我正在尝试在 SharePoint 中使用 jsPDF.umd.js 在企业环境中创建一些 pdf。可悲的是,在这种环境下我不得不依赖 IE11。

我正在加载带有脚本标签的 jsPDF

<script type="text/javascript" src="/sites/xxxx/polyfills.umd.js"></script>
<script type="text/javascript" src="/sites/xxxx/jsPDF.umd.js"></script>

并尝试使用 new jspdf.jsPDF() 创建一个对象;

这适用于 Firefox 和 Edge,但 Internet Explorer 似乎根本不加载 jsPDF.umd.js。

错误似乎是

SCRIPT1047: In strict mode, function declarations cannot be nested inside a statement or block. They may only appear at the top level or directly inside a function body.
File: jsPDF.umd.js, Line: 744, Column: 5

我很茫然,因为这适用于ff和edge,但不适用于IE。示例 ( http://raw.githack.com/MrRio/jsPDF/master/# ) 站点适用于所有浏览器。

有没有办法禁用严格模式?

我以前从来没有遇到过 use strict 的问题——尽管我不知道它是否以及在哪里被激活。

我不是 JavaScript 开发人员 - 所以这里可能存在一个完全不同的问题。

编辑:问题似乎是带有javascript的IE。我从 jspdf.umd.js 中注释了错误的行,现在在第 847 行出现语法错误

let protection = 192;

也许 IE 使用的是 ECMAscript 5 之前的引擎?

edit2:navigator.userAgent 输出“Mozilla/5.0(兼容;MSIE 10.0;Windows NT 6.3;WOW64;Trident/7.0;.NET4.0E;.NET4.0C;.NET CLR 3.5.30729;.NET CLR 2.0.50727; .NET CLR 3.0.30729;缩放 3.6.0)"

所以我认为我处于兼容性视图 - 切换文档模式似乎可以解决问题 - 我不知道如何从这里开始,因为这不是所有用户的通用解决方案。

edit3:所以页面包含

<meta http-equiv="X-UA-Compatible" content="IE=10">

所以我想我需要改变它。也许这些文章会有所帮助: https ://www.dannyjessee.com/blog/index.php/2020/03/rendering-a-single-sharepoint-page-in-ie-using-edge-mode/ https:// paultavares.wordpress.com/2015/01/20/how-to-render-a-sharepoint-page-in-ie-using-edge-mode-without-changed-the-master-page/

标签: internet-explorer-11jspdfsharepoint-2016

解决方案


从描述中,我了解到 JSPDF 可以使用IE 11Edge文档模式。但是 Sharepoint 站点包含以IE 10文档模式加载站点的元标记。这破坏了 JSPDF 功能。

要解决此问题,您需要在该IE=edge模式下加载站点。

您只需更新您的 SharePoint 母版页以针对最新版本的 IE,要更新您的母版页,请按照以下简单步骤操作。

第 1 步:下载母版页文件。

  • 转到站点设置。
  • 然后是母版页和页面布局。
  • 查找母版页的 HTML 版本。如果您使用西雅图作为站点的母版页,请查找 seattle.html 文件。如果您使用的是 Oslo 母版页,请查找 oslo.html 文件。

第 2 步:更新母版页代码。

  • 在您选择的文本编辑器中打开下载的文件,然后查找以下元标记。

<meta http-equiv="X-UA-Compatible" content="IE=10" />

  • 将 content 属性的值更新为:

<meta http-equiv="X-UA-Compatible" content="IE=edge" />

  • 现在保存文件。

注意:元标记可能会在您的母版页文件中多次放置,请确保全部更新。

第 3 步:上传母版页文件。

  • 母版页和页面布局 上,单击功能区栏,然后单击上传文档按钮。

  • 现在通过单击选择文件按钮选择您刚刚编辑的文件,然后单击确定上传。

  • 将出现另一个对话框,要求您输入有关母版页的一些信息。不要输入任何内容,只需单击“签入”按钮。

  • 您需要做的最后一步是让所有站点访问者都可以使用您的更改,即发布此母版页。

  • 为此,请选择您的母版页,然后单击功能区栏中的发布按钮。

  • 要继续发布,请在下一个对话框中单击“确定”。

参考:

IE 与 SharePoint 和 Office 365 的兼容性


推荐阅读