Как использовать библиотеку pdf.js в аддоне Firefox? - PullRequest
1 голос
/ 04 мая 2019

Я делаю расширение Firefox для insert pdf документа на переведенной странице Google, и я хочу использовать pdf.js. Я не хочу использовать теги embed или iframe для этого, я хочу создать свой собственный pdf просмотрщик. Я пытаюсь использовать библиотеку pdj.js в дополнении Firefox, но она не работает. Я уже пытался сделать это, добавив это в manifest.json.

    "content_scripts": [ 
    {
      "matches":["*://translate.google.com/*"],
      "js": ["script.js","pdf.js"]
    }
   [enter image description here][1] ]

но когда я это сделаю:

pdfjsLib.getDocument(pdf_url); 

это не работает, скрипт перестает работать.

Я пытаюсь добавить скрипт в начало страницы, делая

var pdf_js = document.createElement('script');
pdf_js.src = 'https://mozilla.github.io/pdf.js/build/pdf.js';
document.getElementsByTagName('head')[0].appendChild(pdf_js);

и это тоже не работает. Но когда я использую pdfjsLib из консоли отладки в Firefox, это работает, но из сценария, который я использую для аддона, функция pdfjsLib.getDocument не работает.

У меня была похожая проблема, когда я использовал jQuery, библиотека не работает в скрипте.

Я попытался посмотреть на навигационную консоль в соответствии с предложением Jaromanda X , и я получил это

ReferenceError:

pdfjsLib не определен

Ответы [ 2 ]

0 голосов
/ 03 июля 2019

Я решил это, добавив следующую строку:

pdfjsLib.GlobalWorkerOptions.workerSrc = '//mozilla.github.io/pdf.js/build/pdf.worker.js';
0 голосов
/ 08 мая 2019

Я решил проблему.Проблема была в том, что manifest.json в "content_scripts", в "js", порядок сценариев был плохой.

У меня был первый, и это не сработало, потому что script.js (аддон-скрипт)до этого pdf.js

   "content_scripts": [ 
    {
      "matches":["*://translate.google.com/*"],
      "js": ["script.js","pdf.js"]
    }

правильный путь.

   "content_scripts": [ 
    {
      "matches":["*://translate.google.com/*"],
      "js": ["pdf.js","script.js"]
    }

в случае использования Jquery, должен быть до script.js тоже

 "js": ["jquery.min.js","pdf.js","script.js"]
...