在特定推荐人 ref=example 上显示引导程序警报

问题描述

如果我从特定推荐人那里获得访问者,我会尝试显示正常警报(来自引导程序的标准)。我有我的提醒

<div class="alert alert-warning alert-dismissible fade show" role="alert">
<strong>Bold</strong> This is some text
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">&times;</span>
</button>
</div>

我把它作为触发器

var ref = document.referrer;
if (ref.match(/^https?:\/\/([^\/]+\.)?example\.com\/\?ref=example(\/|$)/i)) {
('.alert').alert();
}

不幸的是,这不起作用,而且我不是正则表达式专家,所以我真的不知道我哪里出错了。感谢您的帮助!

解决方法

由于 ? 不能出现在协议或域中,您可以简单地使用它:

var ref = document.referrer;
if (ref.match(/\?ref=example\b/)) {
    ('.alert').alert();
}

末尾的 \b 涵盖了您可能有其他参数的情况。如果 ref 参数不是第一个,您可以使用它:/[\&\?]ref=example\b/

如果您还想测试域名,请使用此正则表达式:

/^(https?:\/\/)?[^\/]*?\bexample.com\/\?ref=example\b/

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...