某些网址未调用内容脚本

时间:2015-08-20 10:40:05

标签: google-chrome-extension

在我的manifest.xml中,我有以下内容脚本:

td

几乎所有以http,https开头的网址甚至以“文件”开头的网址都会调用它: //”。但是对于我用pdf.js打开的pdf,url变成类似:"content_scripts": [ { "matches": [ "*://*/*" ], "js": ["xyz.js"], "all_frames": true, "run_at": "document_idle" }


在这些情况下,我不会调用内容脚本。这背后有什么原因吗?或者我没有正确使用内容脚本?

1 个答案:

答案 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>