Chrome扩展程序:" content_scripts"和#34;单页应用程序"

时间:2015-03-30 20:23:43

标签: google-chrome-extension

我的Chrome扩展程序manifest.json中包含此内容:

...

"content_scripts": [
    {
        "matches": ["http://*.youtube.com/playlist*", "https://*.youtube.com/playlist*"],
        "css": [],
        "js": ["jquery-2.1.3.min.js", "myscript.js"]
    }
]

这是myscript.js

 console.log('Running extension code!');

安装扩展程序后,我进行了两次实验:

  • 实验1:我直接转到https://www.youtube.com/playlist?list=foo(通过粘贴地址栏中的网址并按<ENTER>)。控制台按预期显示&#34;正在运行扩展代码!&#34;

  • 实验2:我转到https://www.youtube.com然后我手动导航到播放列表(通过点击链接),因此网址已更改为https://www.youtube.com/playlist?list=foo。控制台无法显示消息,因此未加载扩展程序。

我猜实验2失败了,因为YouTube是单页应用程序(SPA)。在SPA中,URL通过代码事件进行更改。

问题:在这里使用content_scripts的正确方法是什么?我不应该Chrome负责匹配网址而不是我吗? (即:这是一个错误吗?)

0 个答案:

没有答案