Maison >interface Web >js tutoriel >Analyse détaillée des compétences de referer_javascript en opération javascript
Importance du référent
Il y a un en-tête de référent dans la requête HTTP, qui est utilisé pour indiquer la page de référence source du trafic actuel. Par exemple, si vous cliquez sur un lien sur www.sina.com.cn/sports/ pour accéder à la page d'accueil de cctv.com, le référent sera www.sina.com.cn/sports/. En Javascript, nous pouvons obtenir les mêmes informations via document.referrer. Grâce à ces informations, nous pouvons connaître le canal à partir duquel le visiteur est arrivé à la page actuelle. Ceci est très important pour le Web Analytics. Il peut nous indiquer la répartition du trafic apporté par les différents canaux, ainsi que les mots-clés recherchés par les utilisateurs, etc., qui sont tous obtenus en analysant ces informations de référence.
Cependant, pour diverses raisons, le référent lu en Javascript est parfois une chaîne vide. Ce qui suit résume les situations dans lesquelles les référents seront perdus.
Modifier l'objet Location pour la navigation dans les pages
L'objet Location est un objet très pratique pour la navigation dans les pages. Parce qu'il vous permet de modifier seulement une partie de l'URL. Par exemple, lors du passage d'un nom de domaine cn à un nom de domaine com, les autres parties restent inchangées :
Une chaîne vide est renvoyée sous IE5.5
Chrome3.0, Firefox3.5, Opera9.6 et Safari3.2.2 reviennent tous normalement à la page Web source
Ouvrez une nouvelle fenêtre avec la méthode window.open
Exemple :
Une chaîne vide est renvoyée sous IE5.5
Chrome3.0, Firefox3.5, Opera9.6 et Safari3.2.2 reviennent tous normalement à la page Web source
Si le même nom de domaine est redirigé via cette méthode, nous pouvons alors obtenir les informations de référence perdues en accédant à l'objet windoww.opener. Le code est le suivant :
Glisser la souris pour ouvrir une nouvelle fenêtre
Le glisser la souris est une habitude très populaire des utilisateurs de nos jours. De nombreux navigateurs disposent d'une prise en charge intégrée ou plug-in pour la navigation par glissement de la souris. Cependant, les pages ouvertes de cette manière perdent fondamentalement des référents. De plus, dans ce cas, il est impossible d’utiliser window.opener pour obtenir le référent perdu.
Testé :
Maxthon2.5.2, plug-in FireGesture pour Firefox, Chrome3.0, Opera9.6, Safari3.2.
Cliquez sur le lien interne Flash
Lorsque vous cliquez sur Flash pour accéder à un autre site Web, la situation du Referrer devient plus compliquée.
Sous IE, la valeur lue dans document.referrer du client Javascript est vide, mais si vous utilisez un logiciel de surveillance du trafic pour y jeter un œil, vous constaterez que l'en-tête Referer dans la requête HTTP est en fait Valuable, cela peut être un bug implémenté par IE. Dans le même temps, cette valeur pointe vers l'adresse du fichier Flash, et non vers l'adresse de la page Web source.
Après avoir cliqué sur Flash pour accéder à une nouvelle fenêtre sous Chrome 4.0, le Referrer pointe également vers l'adresse du fichier Flash, et non l'adresse de la page web source.
Chrome 3.0 et Safari 3.2 sont identiques, les deux perdront les informations du référent.
Opera est le même que Firefox, la valeur de Referrer est l'adresse de la page Web source.
HTTPS vers HTTP
Lors du passage d'un site Web HTTPS à un site Web HTTP, le navigateur n'enverra pas de référent. Le comportement de tous les principaux navigateurs est le même.
Par exemple, lorsque nous utilisons Google Reader ou Gmail sous HTTPS et que nous cliquons sur un lien pour accéder à un autre site Web, alors techniquement parlant, il n'y a aucune différence entre un tel accès et la saisie directe de l'URL par l'utilisateur.
L'impact de la perte du Referrer sur le suivi du trafic publicitaire
Si le Referrer est perdu, le Web Analytics perdra une partie très importante de l'information, notamment pour le trafic publicitaire, ce sera impossible pour connaître la véritable source. À l'heure actuelle, de nombreux sites Web nationaux qui utilisent les publicités Google Adsense utilisent la méthode window.open pour ouvrir les liens publicitaires, de sorte que le référent sera perdu sous IE, et nous savons qu'IE est le navigateur avec la plus grande part de marché à l'heure actuelle, donc son impact est énorme. De nombreux outils de statistiques de trafic classeront donc cette partie du trafic en « trafic direct », ce qui équivaut à ce que l'utilisateur tape directement l'URL.
Dans une telle situation, les annonceurs doivent ajouter des paramètres de suivi spécifiques à l'URL de la page de destination lors du placement d'annonces.
Par exemple, si vous cliquez sur une annonce Flash, l'URL qu'elle atteint est http://www.example.com/ Afin de surveiller de quel canal provient ce trafic, nous pouvons modifier l'URL de destination de cette annonce. vers http.://www.example.com/?src=sina, similaire à cette méthode, puis utilisez le code Javascript pour extraire ce paramètre src dans la page de destination, afin que les informations sur la source publicitaire puissent être obtenues.
Lors de l'exécution de Google Adwords, le système backend dispose d'une option de « marquage automatique ». Lorsque cette option est activée, Google ajoutera automatiquement un paramètre gclid lors de la génération de l'URL de la page de destination de toutes les annonces. Backend Google Analytics et backend publicitaire Adwords. De cette façon, vous pouvez savoir à quelle campagne publicitaire correspond le trafic publicitaire, à quelle source publicitaire et quels mots-clés publicitaires ainsi que d'autres informations. L’idée est en fait similaire à celle évoquée ci-dessus. C'est juste que Google a automatiquement modifié l'URL pour vous.
Solution au référent vide sous IE
Si vous utilisez la méthode window.location.href pour sauter sous IE, la valeur du référent sera vide. Si vous sautez dans la balise, le référent ne sera pas vide. Par conséquent, ce problème IE peut être résolu en utilisant le code suivant
•Utilisez la nouvelle solution HTML5, utilisez rel="noreferrer", déclarez l'attribut de connexion comme noreferrer, actuellement uniquement pris en charge par chrome4.
•Utilisez une page intermédiaire, mais envoyez toujours le référent, par exemple en utilisant celui de Google redirection de connexion, noreferrer.js.
•Utilisez le transfert de lien du protocole javascript, voir les instructions ci-dessous.
Ouvrez une nouvelle fenêtre, équivalent à target="_blank":