如何使用Chrome内容脚本,在URL的查询参数上匹配模式?

3

我正在尝试制作一个Chrome扩展程序,使用内容脚本,仅匹配谷歌图片搜索结果页面。
据我所知,它们可以通过URL参数中的&tbm=isch进行识别。但是,匹配模式似乎只在路径上起作用。我该怎么做?

1个回答

8
有两种方法:
(1)您可以使用清单文件中的 include_globs 属性。像这样的东西应该有效:
{
    "content_scripts": [ {
        "exclude_globs":    [  ],
        "include_globs":    [ "https://www.google.com/search*tbm=isch*" ],
        "js":               [ "YOUR_SCRIPT.user.js" ],
        "matches":          [ "https://www.google.com/search*"
                            ]
    } ],
    ... ...


(2) 您可以在您的内容脚本顶部放置这样一个测试:

if ( ! /\btbm=isch\b/i.test (location.search) ) {
    return;
}

前者可能更有效率,但调整起来可能更困难。
你也可以使用这些方法的组合。


嗯,我最终选择了第二个选项,并且它起作用,但是我测试了第一个选项只是为了看看它是否有效,但我仍然在google.com(文本搜索)上收到了测试alert() - agentofuser
1
@JophinJoseph,那只是一个简单的:"matches": ["http://www.google.com/*", "https://www.google.com/*"] - Brock Adams
我之前尝试过,但由于脚本内容本身的错误,无法获得期望的响应。之前它正常运行。谢谢 @BrockAdams。 - Jophin Joseph
@JophinJoseph,如果你有需要的话,请提出一个新问题。并点赞。 - Brock Adams
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接