In den tatsächlichen Anwendungen kann die Verwendung von Wettervorhersagekomponenten durch die Domänen in der obigen Methode implementiert werden. Eine weitere häufig verwendete Methode besteht darin, bestimmte E-Commerce-Anzeigen anzuzeigen, die durch die von Ihnen besuchten Produkte oder die Produkte, die Ihnen durch verwandte Empfehlungen empfohlen wurden, scrollen.
Beispielsweise werden zwei Arten von Anzeigen auf einer bestimmten Webseite angezeigt:
Die Anzeigen des Ostens wurden alle besucht und haben verwandte Dinge hinzugefügt.
Die Anzeigen von Taobao entsprechen im Grunde genommen mit der Präsentation.
Wenn Sie Produkte von Dong und Bao besuchen, werden die Informationen in den Keks platziert. Wenn sie präsentiert werden, werden sie gemäß den Produktinformationen im Cookie vorgestellt.
Das Problem ist hier.
Die Website, auf der sich die Webseite A befindet, und die Website von Dong und Taobao müssen zwei unabhängige Domainnamen sein. Sie können die Cookies von Dong und Taobao nicht auf der Webseite A erhalten, da es verschiedene Quellen gibt, also
Es ist unmöglich und unangemessen, Produktinformationen auf der A -Webseite selbst vorzustellen.
Natürlich müssen wir Produktinformationen durch Cross-Domain-Methoden vorlegen. Die Probleme, die gelöst werden müssen, sind:
1. Das vom Cross-Domain-Dienst erzeugte Skript kann keine Cookies erhalten, kann jedoch nur Cookies auf Cross-Domain-Servern erhalten.
Warum? Das vom Cross-Domain-Dienst generierte Skript kann letztendlich auf der A-Webseite ausgeführt werden. Der Cookie, auf das im Skript vom Cross-Domain-Dienst erzeugt wird, kann nur das Cookie der Website sein, auf dem sich die A-Webseite befindet, die falsch ist.
2. Kookies können im Cross-Domain-Service-Hintergrund erhalten werden
Die Antwort lautet ja. Solange der Browser eine Anfrage an einen bestimmten Domain -Namen/eine bestimmte Domain -Adresse initiiert, bringt er seinen entsprechenden Cookie über.
Lassen Sie uns also eine einfache Demo implementieren
Demo -Architektur: Node.js+Express
1. In Cross-Domain-Diensten kann es als E-Commerce-Unternehmen verstanden werden, die eine Seite zur Eingabe von Produktinformationen bereitstellen, die besuchten Dinge simulieren und nach der Eingabe in den Cookie speichern.
Seite
Der Code soll eine Ablaufzeit hinzufügen, um die Eingabe in den Cookie zu speichern, und natürlich ist ein einfacher Code zuerst.
<! DocType html> <html> <kopf> <titels> setCookie </title> <meta http-äquiv = "content-type" content = "text/html; charset = utf-8"> <link rel = "Stylesheet" href="/stylesheets/style.css"></head><body><h1>Playing</h1><div><span>Product 1</span><input id="s1"></div><p></p><div><span>Product 2</span><input id="s2"></div><p></p><div><span>Product 3</span><input id = "s3"> </div> <p> </p> <div> <span> Produkt 4 </span> <input id = "s4"> </div> <p> </p> <div> <input id = "b" type = "button" value = "savecookie (); ELES2 = document.GetElementById ('S2'); var eles3 = document.GetElementById ('S3'); var eles3 = document.getElementById ('s3'); var te4 = document.getElementById ('S4'); // das Parameter var date = new Date (); var, der nach 24 Stunden abläuft document.cookie = 's1 ='+Escape (eles1.Value)+"; expir ="+date.togmtstring (); document.cookie = 's2 ='+Escape (eles2.value)+; Es = "+Date.togmtstring (); document.cookie = 's3 ='+Escape (leen3.Value)+"; expires = "+date.togmtstring (); document.co Okie = 's4 ='+Escape (leen4.Value)+"; expires ="+date.togmtstring (); alert (document.cookie);} </script> </body> </html>2. Schreiben Sie bei Cross-Domain-Diensten einen Code, um Skripte auf dem Server zu generieren. Entschlüsseln und extrahieren Sie beim Generieren des Skripts die Daten aus dem vom Browser mitgebrachten Cookie und spleißen Sie es dann in das Skript.
Hier nehmen wir Cookies durch das Anforderungsobjekt. Die Methoden anderer Plattformen mögen unterschiedlich sein, aber die Prinzipien sind gleich, und der Browser wird sie dorthin bringen.
Router.get ('/ad', function (req, res) {// eine JS-Zeichenfolge teilen und die Ausgabe des HTML-Tags in die HTML-Seite Printcookies (Req.cookies); var s = 'document.write (/' <div style = "Hintergrundfarbe: redth: 10rem in den produkten addelem; String for (var p in req.cookies) {s + = '<div>' + unscape (req.cookies [p]) + '</div>';} s + = '</div>/'); '; Console.log (s); Res. 'text/javascirct;charset=utf-8');res.write(s);res.end();});function printCookies(cookies) {console.log('******cookies*******');for (var p in cookies) {console.log(p + '=' + Unsandscape (Cookies [p]));} console.log ('*************');};3. Erstellen Sie Skriptanfragen für Cross-Domain-Dienste auf der A-Webseite der lokalen Website.
Unter ihnen wird die Adresse des Skripts, das im Cross-Domain-Dienst bereitgestellt wird, über das Skript-Tag verwiesen.
<!DOCTYPE html><html><head><title>test</title><link rel="stylesheet" href="/stylesheets/style.css"></head><body><script src="http://localhost:3001/ad"></script><h1>Flight information</h1><h4>Flight number: MU532 </h4> <h4> Abreise: Peking </h4> <h4> Ankunft: Shanghai </h4> </body> </html>
Nachdem die Seite ausgeführt wurde, können Sie die besuchten Produktinformationen wie das Bild unten auflisten, und Sie sind es satt und schreiben eine kleine Anzeige ein.
Also ist es fertig.
Ich werde Ihnen so viel über das relevante Wissen über Cross-Domain-Zugangs-Werbung für JavaScript-Cookies vorstellen, und ich hoffe, dass es Ihnen hilfreich sein wird!