Javascript 在PDF页面上运行Chrome插件
使用Chrome扩展,我想:Javascript 在PDF页面上运行Chrome插件,javascript,jquery,google-chrome,pdf,google-chrome-extension,Javascript,Jquery,Google Chrome,Pdf,Google Chrome Extension,使用Chrome扩展,我想: 检测当前选项卡是否已加载PDF文件 在popup.html中添加一个按钮,用于将PDF转换为HTML5 获取PDF文件的URL并将其发送到在线服务 为了完成#1,我认为本页中的一个解决方案可以奏效: 问题是我很难让扩展在PDF页面上运行 如何在PDF页面上运行扩展名的background.js 我的清单文件当前: { "matches":[ "https://*/*", "http://*/*" ], "run_at":"
background.js
我的清单文件当前:
{
"matches":[
"https://*/*",
"http://*/*"
],
"run_at":"document_idle",
"css":[
"jquery-ui.css",
"resizable.css"
],
"js":[
"jquery.js",
"jquery-ui.js",
"storage.js",
"background.js"
],
"all_frames":true
}
在清单文件中,您应该具有以下内容:
"content_scripts": [
{
"matches": ["*://*.pdf"],
"js": ["background.js"]
}
]
这是我当前的清单文件-
{“matches”:[“https://*/*”,“http://*/*”],“run_at:“document_idle”,“css:[“jquery ui.css”,“resize.css”],“js:[“jquery.js”,“jquery ui.js”,“storage.js”,“background.js”],“all_frames”:true},
您可能认为它也会与PDF匹配(请注意,PDF的结尾并不总是有.PDF),这有什么问题?background.js
不会加载到以.pdf
结尾的页面上?是的-在chrome pdf查看器上不会加载background.js。如果你的background.js
与你链接的问题相同,那么你也必须将权限添加到你的清单中。你可能需要[re]阅读扩展架构文章,因为背景页面是一个完全不同的页面(您可以将其视为一个隐藏的浏览器选项卡,它有自己的DOM和脚本)。通过使用这样一个误导性的文件名,您可能错过了一个简单的解决方案,即检查是否存在body>embed[name=“plugin”][type=“application/pdf”]
,您可以在pdf页面的devtools检查器中看到这一点。