未捕获的ReferenceError:未定义jsPDF

时间:2017-04-10 21:38:19

标签: javascript html jspdf

所以这是我的HTML代码,我试图将div“abc”中输出的内容输出到可下载的pdf文件中。

<!-- Page Heading -->
<div class="row">
    <div class="col-lg-12">
        <h1 class="page-header">
            Reports
        </h1>
        <ol class="breadcrumb">
            <li>
                <i class="fa fa-dashboard"></i>  <a href="dashboard">Dashboard</a>
            </li>
            <li class="active">
                <i class="fa fa-edit"></i> Reports
            </li>

        </ol>
        <body>
          <div id="abc">
</div>
<div id="editor"></div>
<button id="cmd">Download Survey Report</button>
        <div id="abc">

        </div>
        </body>

        <script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.3.3/jspdf.min.js"></script>
        <script>

                var doc = new jsPDF();
                var specialElementHandlers = {
                  '#editor': function (element, renderer) {
                return true;
            }
        };

        $('#cmd').click(function () {
            doc.fromHTML($('#abc').html(), 15, 15, {
                'width': 170,
                    'elementHandlers': specialElementHandlers
            });
            doc.save('SurveyReport.pdf');
        });
        </script>


        <script>
        firebase.auth().onAuthStateChanged(function(user){
          if(user){
            var userID = user.uid;
            RetrieveSurvey(userID,1,PrintSurvey(document.getElementById("abc")));
          }
        })
        </script>

    </div>
</div>

我在控制台上收到此错误: “未捕获的ReferenceError:未定义jsPDF”

我不确定我在这里做错了什么,我甚至在脚本标签中添加了jsPDF ......

4 个答案:

答案 0 :(得分:2)

首先,您的HTML无效。检查W3S

将您的链接放在jspdf标记内的<head>,您甚至可以在<body>标记内进行操作。

将您的jspdf脚本替换为最新的脚本:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.3.4/jspdf.min.js"></script>

答案 1 :(得分:0)

使用此:

window.jsPDF = require('jspdf');

代替此:

import jsPDF from 'jspdf';

答案 2 :(得分:0)

https://github.com/matb/jsPDF中所述

使用

<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.3.2/jspdf.debug.js"></script>

将此脚本添加到head标签中

答案 3 :(得分:0)

使用这个:

new MyDate instanceof Date