working not http_referer javascript referrer

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