Невозможно использовать jsPDF для моего сайта.Ничего не срабатывает после нажатия кнопки - PullRequest
0 голосов
/ 09 мая 2019

Я пытаюсь использовать jsPDF для своей веб-страницы.Он работает с простыми страницами, и я знаю, что использую правильные сценарии.Но когда я использую его на более сложных страницах, код javascript не срабатывает после нажатия кнопки.Ниже приведен код:

<!DOCTYPE html>
<html>

<head>
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <title>JSP Page</title>
</head>

<body>
  <div class="content">

    <div class="content_resize">
      <div class="mainbar">
        <div class="article">


        </div>
      </div>
      <div class="sidebar">
        <div class="gadget">
          <ul class="sb_menu">
            <p></p>
            <h2></h2>
          </ul>
        </div>
        <div class="gadget">
          <ul class="ex_menu">


          </ul>

        </div>
      </div>
      <div class="clr"></div>
    </div>
  </div>

  <div class="fbg">
    <div class="fbg_resize">
      <div class="col c1">


      </div>
      <div class="col c2">

      </div>
      <div class="col c3">

        <p>

      </div>
      <div class="clr"></div>
    </div>
  </div>
  <div id="editor"></div>
  <button id="cmd">generate PDF</button>
  <script src="https://code.jquery.com/jquery-1.12.4.min.js" integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous"></script>
  <script type="text/javascript" src="http://cdnjs.cloudflare.com/ajax/libs/jspdf/0.9.0rc1/jspdf.min.js"></script>
  <script type="text/javascript">
    var doc = new jsPDF();
    var specialElementHandlers = {
      '#editor': function(element, renderer) {
        return true;
      }
    };

    $('#cmd').click(function() {
      console.log("Hola");
      doc.fromHTML($('#content').html(), 15, 15, {
        'width': 170,
        'elementHandlers': specialElementHandlers
      });
      doc.save('sample-file.pdf');
    });
  </script>
  <div class="footer">
    <div class="footer_resize">
      <p class="lf">&copy;&nbsp;&nbsp;&nbsp;&nbsp;</p>
      <div class="clr"></div>
    </div>
  </div>

</body>

</html>

Не могли бы вы мне помочь, сообщив, почему действие не запускается после нажатия кнопки?

Ответы [ 2 ]

0 голосов
/ 09 мая 2019

Пожалуйста, включите jQuery в ваш элемент HEAD и добавьте $( document ).ready() вокруг вашего скрипта.Вы получаете какие-либо ошибки в вашей консоли?

См. Документацию для получения дополнительной информации: https://learn.jquery.com/using-jquery-core/document-ready/

0 голосов
/ 09 мая 2019

вам нужно подождать вашего документа:

          <script type="text/javascript">
$(document).ready(function(){
        var doc = new jsPDF();
        var specialElementHandlers = {
          '#editor': function(element, renderer) {
            return true;
          }
        };

        $('#cmd').click(function() {
          console.log("Hola");
          doc.fromHTML($('#content').html(), 15, 15, {
            'width': 170,
            'elementHandlers': specialElementHandlers
          });
          doc.save('sample-file.pdf');
        });
});
      </script>
...