Maison > interface Web > js tutoriel > Comment résoudre le problème de compatibilité des référents avec les principaux navigateurs sous les compétences js_javascript

Comment résoudre le problème de compatibilité des référents avec les principaux navigateurs sous les compétences js_javascript

WBOY
Libérer: 2016-05-16 16:32:17
original
1581 Les gens l'ont consulté

Le référent d'en-tête HTTP indique principalement aux gens d'où je viens, c'est-à-dire de quelle page je viens. Il peut être utilisé pour compter la source des utilisateurs qui visitent ce site Web, et peut également être utilisé pour empêcher les liens dynamiques. La meilleure façon d'obtenir cette chose est js. Si vous l'obtenez côté serveur (méthode PHP telle que : $_SERVER['HTTP_REFERER']), les gens peuvent le falsifier. est difficile pour les gens de le forger

Méthode : utilisez la méthode document.referer de js pour déterminer avec précision la véritable origine de la page Web. Actuellement, les statistiques Baidu, les statistiques Google Ads et les statistiques CNZZ utilisent toutes cette méthode. L'anti-hotlinking est également très simple. Si l'URL source est jugée en js et qu'elle ne provient pas de ce site, l'image ne sera pas affichée.

Comme nous le savons tous, nous, les développeurs Web, détestons IE car IE ne prend pas en charge les standards et son comportement par défaut en dehors des standards est souvent incompatible avec les autres navigateurs :

Utilisez javascript pour faire un saut dans IE, par exemple, utilisez window.location.href = ""; Si Google utilise document.referrer, il ne peut pas obtenir le référent HTTP demandé par le navigateur car IE l'a effacé

Les autres navigateurs grand public Firefox et Chrome conserveront le référent Il n'y a aucun moyen, cela signifie qu'IE bénéficiera à nouveau d'un traitement spécial « ministériel » :

Le code suivant peut résoudre ce problème dans IE :
//Détectez s'il s'agit d'un navigateur IE, puis ajoutez manuellement un référent
Le principe est d'ajouter secrètement un lien vers la page du navigateur IE, puis de cliquer automatiquement sur le lien, afin que le référent puisse être conservé.

Copier le code Le code est le suivant :

var url = 'http://www.jb51.net';
if (/MSIE (d .d );/.test(navigator.userAgent) || /MSIE(d .d );/.test(navigator.userAgent))
{
var referLink = document.createElement('a');
​ referLink.href = url;
Document.body.appendChild(referLink);
​ referLink.click();  
}
sinon
{
Emplacement.href = url;
}
Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal