问题描述
我正在尝试在 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>
并尝试创建一个对象 新的 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 之前的引擎?
编辑2: 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.2903. ; 缩放 3.6.0)"
所以我认为我处于兼容性视图 - 切换文档模式似乎可以解决这些问题 - 我还不知道如何从这里开始,因为这不能成为所有用户的通用解决方案。
编辑3: 所以页面包含
<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-changing-the-master-page/
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)