في التطبيقات الفعلية ، يمكن تنفيذ الاستخدام المتقاطع لمكونات توقعات الطقس في الطريقة المذكورة أعلاه. هناك طريقة أخرى شائعة الاستخدام وهي عرض إعلانات تجارة إلكترونية معينة ، والتي ستتم التمرير عبر المنتجات التي قمت بزيارتها أو المنتجات الموصى بها من خلال التوصيات ذات الصلة.
على سبيل المثال ، يتم عرض نوعين من الإعلانات على صفحة ويب معينة:
تمت زيارة جميع إعلانات الشرق وأضفت أشياء ذات صلة.
إعلانات Taobao هي في الأساس نفس العرض التقديمي.
عند زيارة المنتجات من Dong و Bao ، سيتم وضع المعلومات في ملف تعريف الارتباط ، وعند تقديمها ، سيتم تقديمها وفقًا لمعلومات المنتج في ملف تعريف الارتباط.
المشكلة هنا.
الموقع الذي توجد فيه صفحة الويب A ويجب أن يكون موقع Dong و Taobao اسمينًا مستقلين للمجالين. لا يمكنك الحصول على ملفات تعريف الارتباط في Dong و Taobao على صفحة الويب A ، لأن هناك مصادر مختلفة ، لذلك
من المستحيل وغير المناسب تقديم معلومات المنتج في صفحة الويب نفسها.
بالطبع ، نحتاج إلى تقديم معلومات المنتج من خلال طرق النطاق عبر المجال. المشكلات التي يجب حلها هي:
1. لا يمكن للنص الناتج عن خدمة النطاق عبر المجال الحصول على ملفات تعريف الارتباط ، ولكن لا يمكن الحصول على ملفات تعريف الارتباط فقط على خوادم المجال المتقاطع.
لماذا؟ ، يتم تشغيل البرنامج النصي الذي تم إنشاؤه بواسطة خدمة المجال المتقاطع على صفحة الويب A. لا يمكن أن يكون ملف تعريف الارتباط الذي تم الوصول إليه في البرنامج النصي الذي تم إنشاؤه بواسطة خدمة المجال المتقاطع هو ملف تعريف الارتباط للموقع حيث توجد صفحة الويب A ، وهذا خطأ.
2. يمكن الحصول على المطبخات في خلفية خدمة المجال المتقاطع
الجواب نعم. طالما أن المتصفح يبدأ طلبًا إلى اسم/عنوان مجال معين ، فسيحضر ملف تعريف الارتباط المقابل.
لذلك ، دعونا ننفذ عرضًا تجريبيًا بسيطًا
العمارة التجريبية: Node.js+Express
1. في خدمات المجال المتقاطع ، يمكن فهمها كشركة للتجارة الإلكترونية ، وتوفير صفحة لإدخال معلومات المنتج ، ومحاكاة الأشياء التي تمت زيارتها ، ثم حفظها في ملف تعريف الارتباط بعد الإدخال.
صفحة
الكود هو إضافة وقت انتهاء صلاحية لحفظ الإدخال في ملف تعريف الارتباط ، وبالطبع ، رمز بسيط هو الأول.
<! 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> <viv> <span> المنتج 1 </span> <input id = "s1"> </div> <p> </p> </p> <div> id = "s3"> </viv> <p> </p> <viv> <span> المنتج 4 </span> <input id = "s4"> </viv> <p> </p> <viv> <input eles1 = document.getElementById ('s1') ؛ var eles2 = document.getElementById ('s2') ؛ var eles3 = document.getElementById ('s3') ؛ var eles3 = document.getElementById ('s3') ؛ var eles4 = document.getElementByid ('s4') ؛ var التي تنتهي بعد 24 ساعة تنتهي صلاحيتها = 3*24*3600*1000 ؛ Date.Settime (date.getTime ()+ExpiresMseconds) ؛ // تعيين جميع معلومات المنتج في ملفات تعريف الارتباط document.cookie = 's1 ='+Escape (eles1.value)+"؛ expir ="+date.togMtString () ؛ document.cookie = 's2 ='+Escape (eles2.value)+"؛ Expir es = "+date.togMtString () ؛ document.cookie = 's3 ='+Escape (eles3.value)+" ؛ Expires = "+date.togmtstring () ؛ document.co OKIE = 'S4 ='+Escape (ELES4.Value)+"؛ Expires ="+Date.TogMtString () ؛ ALERT (document.cookie) ؛} </script> </body> </html>2. على خدمات المجال المتقاطع ، اكتب قطعة رمز لإنشاء البرامج النصية على الخادم. عند إنشاء البرنامج النصي ، فك تشفير البيانات واستخراجها من ملف تعريف الارتباط الذي جلبه المتصفح ثم يقوم بصقه في البرنامج النصي.
هنا نخرج ملفات تعريف الارتباط من خلال كائن الطلب. قد تكون طرق المنصات الأخرى مختلفة ، لكن المبادئ هي نفسها ، وسيحضرها المتصفح إلى هناك.
Router.get ('/ad' ، function (req ، res) {// تقسيم سلسلة js وأكمل إخراج علامة html إلى printcookoies html page (req.cookies) ؛ var s = 'document.write (/' <div style = "background-color: red ؛ width: 10rem: 10Rem"> product productement "؛ سلسلة البرنامج النصي لـ (var p في req.cookies) {s + = '<viv>' + unescape (req.cookies [p]) + '</viv>' ؛} s + = '</div>/') ؛ '؛ console.log (s) "النص/javascirct ؛ charset = utf-8 ') ؛ res.write (s) ؛ res.end () ؛}) ؛ وظيفة printCoOkies (ملفات تعريف الارتباط) {console.log (' ****** ملفات تعريف الارتباط ******* ') ؛ لـ (var p في ملفات تعريف الارتباط) {console.log (p +' = ' +' unescape (ملفات تعريف الارتباط [p])) ؛} console.log ('***************') ؛}3. تقديم طلبات البرنامج النصي لخدمات المجال المتقاطع في صفحة الويب الخاصة بالموقع المحلي.
من بينها ، يتم الرجوع إلى عنوان البرنامج النصي المقدم على خدمة المجال المتقاطع من خلال علامة البرنامج النصي.
<! doctype html> <html> <head> <title> اختبار </title> <link rel = "stylesheet" href = "/syneshelets/style.css"> </head> <body> <body> <script src = "http: // localhost: 3001/ad"> </h1> Mu532 </h4> <h4> المغادرة: Beijing </h4> <h4> الوصول: Shanghai </h4> </body> </html>
بعد تشغيل الصفحة ، يمكنك سرد معلومات المنتج التي تمت زيارتها مثل الصورة أدناه ، وقد سئمت منها وأنت تكتب إعلانًا صغيرًا.
لذلك ، تم ذلك.
سأقدم لك الكثير حول المعرفة ذات الصلة حول الترويج للإعلانات للوصول عبر المجالين لملفات تعريف الارتباط JavaScript ، وآمل أن تكون مفيدة لك!