Pour les pros du Javascript

WRInaute passionné
J'ai un soucis avec le code de Xiti...

J'ai un script anti-frame qui fait une redirection Javascript de ce style :

Code:
if (parent.frames.length > 0) {
	xtref = document.referrer.replace(/[<>]/g, '').replace(/&/g, '$');
	window.top.location.href = location.href + '?xtref=' + xtref;
}

dans le marqueur de Xiti, j'ai modifié le code avec leurs indications, à savoir :

Code:
if (document.location.search.indexOf("xtref=") > 0)
{
xtquery = document.location.search.substring(1, document.location.search.length);
monquery = xtquery.substring(xtquery.indexOf("xtref="), xtquery.length);
pos3 = monquery.indexOf("&");
if (pos3 == -1) pos3 = monquery.indexOf("%26")
if (pos3 == -1) pos3 = monquery.length;
Xt_r = monquery.substring(monquery.indexOf("=")+1, pos3);
}
else
{
try {Xt_r = top.document.referrer;}
catch(e) {Xt_r = document.referrer; }
}

Le problème est que je ne récupère pas le référant avant la sortie de la frame...

Merci de votre aide
 
WRInaute passionné
Sir Dipp a dit:
Salut,

Il y a certains naviguateurs qui ne fournissent pas le referer.

A+

On part du principe ou le referer est suivi.

Mon problème est que d'après mes tests, le code de Xiti tel qu'il est là, ne le transmet pas.
 
WRInaute impliqué
Est-ce à la récupération du referer (soit le premier code) ou au traitement de la querystring (secdon code) qui pose problème ?
 
WRInaute passionné
Sir Dipp a dit:
Est-ce à la récupération du referer (soit le premier code) ou au traitement de la querystring (secdon code) qui pose problème ?

d'après ce que j'ai pu constater, c'est le traitement qui pose problème :cry:
 
WRInaute impliqué
le seul truc que je pige pas dans ton code( qui semble bon) c'est cà :
xtref = document.referrer.replace(/[<>]/g, '')
c'est pas un peu violent à tout jamais ?
 
Discussions similaires
Haut