在我的manifest.xml中,我有以下内容脚本:
td
几乎所有以http,https开头的网址甚至以“文件”开头的网址都会调用它: //”。但是对于我用pdf.js打开的pdf,url变成类似:"content_scripts": [
{
"matches": [
"*://*/*"
],
"js": ["xyz.js"],
"all_frames": true,
"run_at": "document_idle"
}
在这些情况下,我不会调用内容脚本。这背后有什么原因吗?或者我没有正确使用内容脚本?
答案 0 :(得分:5)
pdf.js是一个扩展程序,它使用chrome-extension://协议在自己的页面上打开pdf。内容脚本的此协议isn't supported。原因是扩展使用特权API,因此被设计为通过内容脚本等与另一个扩展“劫持”隔离。
如果pdf.js是您自己的扩展程序的一部分,则可以手动将内容脚本添加到扩展程序自己的html页面(在您的案例中为content/web/viewer.html
):
<head>
<script src="xyz.js"></script>
</head>
P.S。而不是*://*/*
按documentation使用<all_urls>
。