javascript - not - html referer
Comprobando el referente (5)
Cierra tu if
paren ...
Estoy usando esto para comprobar si alguien vino de Reddit, sin embargo, no funciona.
var ref = document.referrer;
if(ref.match("/http://(www.)?reddit.com(/)?(.*)?/gi"){
alert(''You came from Reddit'');
} else {
alert(''No you didn/'t'');
}
Sugerencias sobre la expresión regular son bienvenidas también.
He estado usando una alternativa a RegEx buscando el dominio en el referente
if (document.referrer.indexOf(''reddit.com'') >= 0) { alert(''They came from Reddit.com''); }
EDITAR: como thekingoftruth señala que no funciona si reddit.com está incluido en un parámetro de URL, así que lo extendí un poco. También agregué toLowerCase () cuando lo vi en el RegExp anterior.
if (document.referrer.indexOf(''?'') > 0){
if (document.referrer.substring(0,document.referrer.indexOf(''?'')).toLowerCase().indexOf(''reddit.com'') >= 0){
alert(''They came from Reddit'');
}
} else {
if (document.referrer.toLowerCase().indexOf(''reddit.com'') > 0){
alert(''They came from Reddit'');
}
}
Prueba esto:
if (ref.match(/^https?:////([^//]+/.)?reddit/.com(//|$)/i)) {
alert("Came from reddit");
}
La expresión regular:
/^ # ensure start of string
http # match ''http''
s? # ''s'' if it exists is okay
://// # match ''://''
([^//]+/.)? # match any non ''/'' chars followed by a ''.'' (if they exist)
reddit/.com # match ''reddit.com''
(//|$) # match ''/'' or the end of the string
/i # match case-insenitive
Prueba esto:
ref.match(new RegExp("^http://(www//.)?reddit//.com/", "i"))
O:
ref.match(/^http:////(www/.)?reddit/.com///i)
Utilice var ref = document.referer; // ONE R en lugar de DOS