Maison interface Web js tutoriel Cookie JavaScript accès inter-domaines publicité promotion_javascript compétences

Cookie JavaScript accès inter-domaines publicité promotion_javascript compétences

May 16, 2016 pm 03:04 PM

Dans les applications pratiques, l'utilisation inter-domaines des composants de prévisions météorologiques peut être mise en œuvre en utilisant la méthode ci-dessus. Une autre méthode courante consiste à afficher des publicités de certaines sociétés de commerce électronique. Cette publicité fera défiler les produits que vous avez visités ou les associations. vous souhaitez recommander votre produit.

Par exemple, deux types de publicités sont affichées sur une page web A :

Certaines choses affichées dans les publicités de Dongdong ont été visitées par Didi et des choses associées ont été recommandées

Les publicités d'un certain produit sont fondamentalement présentées de la même manière.

Lors de l'accès à un produit de Dongmoubao, les informations seront placées dans le cookie et la présentation sera basée sur les informations sur le produit dans le cookie.

Voici le problème.

Le site où se trouve la page web A et le site de Dongbao doivent être deux noms de domaine indépendants. Lorsque vous accédez au cookie de Dongbao sur la page web A, vous ne pouvez pas l'obtenir car ils proviennent de sources différentes, alors <.>

Il est impossible et inapproprié de présenter des informations sur le produit sur la page Web A elle-même.


Bien sûr, les informations sur les produits doivent être présentées de manière inter-domaines. Les problèmes à résoudre sont :


1. Les cookies ne peuvent pas être obtenus à partir de scripts générés par des services inter-domaines. Les cookies ne peuvent être obtenus qu'à partir de serveurs inter-domaines


Pourquoi ? , le script généré par le service cross-domain sera finalement exécuté sur la page web A. Le cookie accessible dans le script généré par le service cross-domain ne peut être que le cookie du site où se trouve la page web A, ce qui est faux


2. L'arrière-plan du service inter-domaines peut obtenir des cookies


La réponse est oui. Tant que le navigateur fait une requête sur un certain nom de domaine/adresse, il apportera le cookie correspondant.


Alors, implémentons une démo simple


Architecture de démonstration : node.js+express


1. Dans les services inter-domaines, cela peut être compris comme une société de commerce électronique qui fournit une page pour saisir des informations sur le produit, simuler les éléments qui ont été visités et les enregistrer dans un cookie après la saisie.


Page


Le code consiste à enregistrer l'entrée plus un délai d'expiration dans le cookie. Bien sûr, codez-le simplement en premier.


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

<!DOCTYPE html>

<html>

<head>

<title>setCookie</title>

<meta http-equiv="Content-Type" content="text/html;charset=utf-8">

<link rel="stylesheet" href="/stylesheets/style.css">

</head>

<body>

<h1>看过的商品</h1>

<div>

<span>商品1</span><input id="s1">

</div>

<p></p>

<div>

<span>商品2</span><input id="s2">

</div>

<p></p>

<div>

<span>商品3</span><input id="s3">

</div>

<p></p>

<div>

<span>商品4</span><input id="s4">

</div>

<p></p>

<div>

<input id="b" type="button" value="保存进cookie" onclick="saveInCookie();">

</div>

<script>

function saveInCookie(){

//所有商品信息

var eleS1=document.getElementById('s1');

var eleS2=document.getElementById('s2');

var eleS3=document.getElementById('s3');

var eleS4=document.getElementById('s4');

//生成24小时后过期的参数

var date=new Date();

var expiresMSeconds=3*24*3600*1000;

date.setTime(date.getTime()+expiresMSeconds);

//商品信息全部设置到cookie中

document.cookie='s1='+escape(eleS1.value)+";expires="+date.toGMTString();

document.cookie='s2='+escape(eleS2.value)+";expires="+date.toGMTString();

document.cookie='s3='+escape(eleS3.value)+";expires="+date.toGMTString();

document.cookie='s4='+escape(eleS4.value)+";expires="+date.toGMTString();

alert(document.cookie);

}

</script>

</body>

</html>

Copier après la connexion
2. Sur le service inter-domaines, écrivez un morceau de code pour générer un script côté serveur. Lors de la génération du script, décodez les données du cookie apporté par le navigateur et placez-les dans le script.


Ici, le cookie est récupéré via l'objet de requête. La méthode peut être différente sur d'autres plateformes, mais le principe est le même, et le navigateur le récupérera.


1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

router.get('/ad', function (req, res) {

//拼接一JS字符串,完成向html页面中输出html标记

printCookies(req.cookies);

var s = 'document.write(\'<div style="background-color:red;width:10rem;height:10rem">商品广告';

//将cookie中所有的商品取出,拼到脚本字符串中

for (var p in req.cookies) {

s += '<div>' + unescape(req.cookies[p]) + '</div>';

}

s+='</div>\');';

console.log(s);

res.setHeader('content-type', 'text/javascirpt;charset=utf-8');

res.write(s);

res.end();

});

function printCookies(cookies) {

console.log('******cookies******');

for (var p in cookies) {

console.log(p + '=' + unescape(cookies[p]));

}

console.log('*******************');

}

Copier après la connexion
3. Faites une demande de script au service inter-domaines dans la page Web A du site Web local.


Parmi eux, l'adresse du script fournie sur le service cross-domain est référencée via la balise script.

1

2

3

4

5

6

7

8

9

10

11

12

13

<!DOCTYPE html>

<html>

<head>

<title>test</title>

<link rel="stylesheet" href="/stylesheets/style.css"></head>

<body>

<script src="http://localhost:3001/ad"></script>

<h1>航班信息</h1>

<h4>航班号:MU532</h4>

<h4>起飞:北京</h4>

<h4>抵达:上海</h4>

</body>

</html>

Copier après la connexion
Une fois la page exécutée, comme le montre l'image ci-dessous, les informations sur le produit visité seront répertoriées, ce qui ressemble à une petite publicité.


Ça y est, c'est fait.


Ceci sont toutes les connaissances pertinentes sur l'accès inter-domaines aux cookies JavaScript et la promotion publicitaire. J'espère que cela sera utile à tout le monde !

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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Que dois-je faire si je rencontre l'impression de code brouillé pour les reçus en papier thermique frontal? Que dois-je faire si je rencontre l'impression de code brouillé pour les reçus en papier thermique frontal? Apr 04, 2025 pm 02:42 PM

Des questions et des solutions fréquemment posées pour l'impression de billets thermiques frontaux pour le développement frontal, l'impression de billets est une exigence commune. Cependant, de nombreux développeurs mettent en œuvre ...

Démystifier javascript: ce qu'il fait et pourquoi c'est important Démystifier javascript: ce qu'il fait et pourquoi c'est important Apr 09, 2025 am 12:07 AM

JavaScript est la pierre angulaire du développement Web moderne, et ses principales fonctions incluent la programmation axée sur les événements, la génération de contenu dynamique et la programmation asynchrone. 1) La programmation axée sur les événements permet aux pages Web de changer dynamiquement en fonction des opérations utilisateur. 2) La génération de contenu dynamique permet d'ajuster le contenu de la page en fonction des conditions. 3) La programmation asynchrone garantit que l'interface utilisateur n'est pas bloquée. JavaScript est largement utilisé dans l'interaction Web, les applications à une page et le développement côté serveur, améliorant considérablement la flexibilité de l'expérience utilisateur et du développement multiplateforme.

Qui est payé plus de python ou de javascript? Qui est payé plus de python ou de javascript? Apr 04, 2025 am 12:09 AM

Il n'y a pas de salaire absolu pour les développeurs Python et JavaScript, selon les compétences et les besoins de l'industrie. 1. Python peut être davantage payé en science des données et en apprentissage automatique. 2. JavaScript a une grande demande dans le développement frontal et complet, et son salaire est également considérable. 3. Les facteurs d'influence comprennent l'expérience, la localisation géographique, la taille de l'entreprise et les compétences spécifiques.

Comment fusionner les éléments du tableau avec le même ID dans un seul objet en utilisant JavaScript? Comment fusionner les éléments du tableau avec le même ID dans un seul objet en utilisant JavaScript? Apr 04, 2025 pm 05:09 PM

Comment fusionner les éléments du tableau avec le même ID dans un seul objet en JavaScript? Lors du traitement des données, nous rencontrons souvent la nécessité d'avoir le même ID ...

JavaScript est-il difficile à apprendre? JavaScript est-il difficile à apprendre? Apr 03, 2025 am 12:20 AM

Apprendre JavaScript n'est pas difficile, mais c'est difficile. 1) Comprendre les concepts de base tels que les variables, les types de données, les fonctions, etc. 2) Master la programmation asynchrone et les implémenter via des boucles d'événements. 3) Utilisez les opérations DOM et promettez de gérer les demandes asynchrones. 4) Évitez les erreurs courantes et utilisez des techniques de débogage. 5) Optimiser les performances et suivre les meilleures pratiques.

Comment réaliser des effets de défilement de parallaxe et d'animation des éléments, comme le site officiel de Shiseido?
ou:
Comment pouvons-nous réaliser l'effet d'animation accompagné d'un défilement de page comme le site officiel de Shiseido? Comment réaliser des effets de défilement de parallaxe et d'animation des éléments, comme le site officiel de Shiseido? ou: Comment pouvons-nous réaliser l'effet d'animation accompagné d'un défilement de page comme le site officiel de Shiseido? Apr 04, 2025 pm 05:36 PM

La discussion sur la réalisation des effets de défilement de parallaxe et d'animation des éléments dans cet article explorera comment réaliser le site officiel de Shiseido (https://www.shiseido.co.jp/sb/wonderland/) ...

La différence dans Console.Log de sortie Résultat: Pourquoi les deux appels sont-ils différents? La différence dans Console.Log de sortie Résultat: Pourquoi les deux appels sont-ils différents? Apr 04, 2025 pm 05:12 PM

Discussion approfondie des causes profondes de la différence de sortie Console.log. Cet article analysera les différences dans les résultats de sortie de la fonction Console.log dans un morceau de code et expliquera les raisons derrière. � ...

Comment implémenter la fonction de glisser-déposer et de régler la fonction de réglage similaire à VScode dans le développement frontal? Comment implémenter la fonction de glisser-déposer et de régler la fonction de réglage similaire à VScode dans le développement frontal? Apr 04, 2025 pm 02:06 PM

Explorez la mise en œuvre de la fonction de glisser et de réglage du panneau de type VScode dans le frontal. Dans le développement frontal, comment implémenter un VScode comme ...

See all articles