Загрузка библиотеки JS через $.getScript генерирует неперехваченную ошибку ссылки для функции PDFmake

#javascript #jquery #getscript #pdfmake

#javascript #jquery #getscript #pdfmake

Вопрос:

Я пытаюсь загрузить pdfmake-browserified.min.js на веб-сайте, работающем:

 $.getScript('http://powercle.linuxpl.eu/js/pdfmake-browserified.min.js');
  

И это работает на очень простых тестовых страницах. Но когда я использую ее на более сложных (реальных) сайтах, она загружается нормально, но тогда кажется, что библиотеки там нет, поскольку запуск функции CreatePDF приводит к ошибке:

Неперехваченная ошибка ссылки: CreatePDF не определен

Как будто библиотека pdfmake никогда не загружалась. Простой тест для репликации проблемы:

  1. Открыть http://powercle.linuxpl.eu/js/pdfmake_browserified4.html который не загружает pdfmake
  2. Откройте консоль в вашем браузере
  3. Запустите команду CreatePDF, чтобы получить ошибку ссылки (как и ожидалось)
  4. Запустите $.getScript(‘http://powercle.linuxpl.eu/js/pdfmake-browserified.min.js ‘);
  5. Снова запустите команду CreatePDF, и она покажет, что функция определена
  6. Все хорошо! Это работает здесь, я могу нажать кнопку [Открыть PDF] и сгенерировать PDF.

Затем откройте, например onet.pl веб-сайт и выполните шаги 2-5. Вы получите ошибку ссылки на шаге 5. Почему ??! Как мне это исправить?

Комментарии:

1. Как вы используете createPdf ? Можете ли вы показать полный код?

2. Не забывайте $.getScript() , что это асинхронно, это может быть вашей проблемой. Я сказал «может», потому что я действительно не понимаю, что должна показывать ваша демонстрация…

3. 5 работает на stackoverflow для меня

4. @Stapal, проблема в том, что функция не определена, поэтому ее вообще нельзя использовать. Но простой пример кода находится на powercle.linuxpl.eu/js/pdfmake_browserified3.html страница — просто нажмите просмотреть источник.

5. @Maxx, ах! плохой пример — попробуйте запустить его, например onet.pl сайт.