【发布时间】:2015-01-02 19:11:04
【问题描述】:
我一直致力于在 Youtube 视频页面上注入 Javascript 的 Chrome 扩展程序,但由于某种原因,它也在主页和其他非视频页面上注入 JS。我阅读了用于构建 Chrome 扩展程序的 Google 文档,并在此处阅读了其他一些问题,并认为我对通配符 (*) 有很好的理解,但可能没有。
使用下面的权限代码sn-p,它不应该因为“watch?v=*”而只在视频页面上注入CSS/JS吗?
有没有更好的方法来检测视频页面?
"permissions": [
"https://youtube.com/watch?v=*",
"http://youtube.com/watch?v=*"
],
"content_scripts": [
{
"matches": [
"https://youtube.com/watch?v=*",
"http://youtube.com/watch?v=*"
],
"css": [
"src/inject/inject.css"
]
},
{
"matches": [
"https://youtube.com/watch?v=*",
"http://youtube.com/watch?v=*"
],
"js": [
"src/inject/inject.js"
]
}
]
【问题讨论】:
-
对于“匹配项”,您需要添加
http而没有安全的s,我认为...您可能正在不安全的 youtube 上进行测试... -
感谢您指出这一点。我将其添加并更新了我的问题帖子。它仍然在所有页面上注入 CSS/JS,而不仅仅是 URL 中带有“watch?v=*”的页面。
-
我不知道为什么会发生这种情况(我还是 Chrome 扩展的新手),但试试
*://*.youtube.com/watch?v=*。或者尝试用%3F替换? -
使用“://.youtube.com/watch?v=*”仍然没有运气:(感谢您的建议,我真的很感激。跨度>
-
您是否尝试过使用
%3F?*://*.youtube.com/watch%3Fv=*
标签: javascript google-chrome google-chrome-extension browser-extension