[英]How to use pdf.js library in a firefox addon?
我正在制作Firefox附加扩展程序,以便在Google的翻译页面中insert
pdf文档,并且我想使用pdf.js
不想使用embed或iframe标签来做,我想做自己的pdf查看器。 我正在尝试在Firefox加载项中使用pdj.js
库,但是它不起作用。 我已经尝试过将其添加到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);
而且也不起作用。 但是,当我从Firefox的调试控制台中使用pdfjsLib时 ,它可以工作,但是从我用于插件pdfjsLib.getDocument
函数的脚本中,它却无法工作。
使用jQuery时,我遇到了类似的问题,该库在脚本中不起作用。
我试着按照Jaromanda X的建议观看导航控制台,我明白了
ReferenceError:
pdfjsLib未定义
我解决了问题。 问题在于"content_scripts"
中的"content_scripts"
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"]
我通过添加以下行来解决它:
pdfjsLib.GlobalWorkerOptions.workerSrc = '//mozilla.github.io/pdf.js/build/pdf.worker.js';
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.