Google chrome extension 未为某些URL调用内容脚本

Google chrome extension 未为某些URL调用内容脚本,google-chrome-extension,Google Chrome Extension,在我的manifest.xml中,我有如下内容脚本: "content_scripts": [ { "matches": [ "*://*/*" ], "js": ["xyz.js"], "all_frames": true, "run_at": "document_idle"

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

"content_scripts": [    
        {
            "matches": [
                "*://*/*"                
            ],
            "js": ["xyz.js"],
            "all_frames": true,
            "run_at": "document_idle"
        }
几乎所有以http、https或甚至以“file://”开头的URL都会调用它。但是对于我用pdf.js打开的pdf,url变成了:
chrome-extension://namhfjepbaaecpmpgehfppgnhhgaflne/content/web/viewer.html?file=http%3A%2F%2Fwww.ifets.info%2Fjournals%2F10_4%2F9.pdf



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

pdf.js是一个扩展,它使用chrome extension://协议在自己的页面上打开pdf。此协议适用于内容脚本。原因是扩展使用特权API,因此设计为通过内容脚本等与另一个扩展的“劫持”隔离

如果pdf.js是您自己的扩展的一部分,则可以手动将内容脚本添加到扩展自己的html页面(在您的情况下为
content/web/viewer.html
):



请注意,使用pdf.js是一个扩展,它使用chrome extension://协议在自己的页面上打开pdf,而不是
*://*/*/*
。此协议适用于内容脚本。原因是扩展使用特权API,因此设计为通过内容脚本等与另一个扩展的“劫持”隔离

如果pdf.js是您自己的扩展的一部分,则可以手动将内容脚本添加到扩展自己的html页面(在您的情况下为
content/web/viewer.html
):



另外,我的扩展名实际上使用pdf.js来加载pdf,而不是
*://*/*/*
使用

。所以我在问题中提到的url是我自己扩展的ID。在这种情况下,我应该将脚本添加到pdf js脚本而不是内容脚本吗?我的扩展实际上使用pdf.js加载pdf。所以我在问题中提到的url是我自己扩展的ID。在这种情况下,我应该将脚本添加到pdf js脚本而不是内容脚本中吗?