如何使用查询字符串参数将页面“黑名单”

时间:2019-08-29 16:19:13

标签: javascript cookieconsent

我正在使用cookieconsent.js来显示一个弹出窗口,供用户接受我的网站。我需要阻止Cookie同意弹出窗口显示页面是否具有特定查询字符串。

documentation for cookieconsent为“ blacklistPage”提供了一种解决方案,在这里我可以“希望使用字符串或RegExp指定页面”,以防止弹出窗口显示。

这很好,直到我尝试使用正则表达式作为查询字符串。

要匹配的路径,文件名和查询字符串的示例: /sub-folder/file-name.shtml?value=pair

"blacklistPage": [
    "/.*\?value=pair"
]

2 个答案:

答案 0 :(得分:0)

根据文档,它期望使用正则表达式或字符串,但是您正试图以无效的字符串传递正则表达式。

using a string : ‘/index.html’ (matches ‘/index.html’ exactly)
using RegExp : /\/page_[\d]+.html/ (matched ‘/page_1.html’ and ‘/page_2.html’ etc)

此外,您引用的是blacklistPage,不需要将其引用。

通过删除引号并提供标准的JS正则表达式格式,您可以进行以下操作:

blacklistPage: [
    /\/.*\?value=pair/
]

或者,您的用例很简单,因此您可以只使用一个字符串并避免使用正则表达式:

blacklistPage: [
    '/sub-folder/file-name.shtml?value=pair'
]

答案 1 :(得分:0)

与一个比我更了解js的朋友,我得出的结论是cookieconsent.js脚本将不允许查询字符串。