ثم المشكلة هي أن صفحة الويب هذه تتضمن أولاً التطوير الأمامي لشبكة المحمول. أفضل استخدام مجموعة HTML5+Bootstrap لتحقيق التأثير الجمالي للصفحة. يتم تسليم المهام الأمامية الأخرى إلى JavaScript لحلها (هنا أستخدم رمز JavaScript الأصلي تمامًا ولا أستخدم أي إطار ، لأنه بالنظر إلى أن الهاتف المحمول يقوم بتحميل صفحات الويب بسرعة بطيئة ، وسيتم تحميل العديد من الوظائف غير المستخدمة في الإطار أيضًا مع صفحات الويب التي تستهلك حركة مرور المستخدم).
بعد أن كانت جميع الوظائف جاهزة ، كان العميل راضيًا جدًا عن التجربة ، ثم قمت بتقديم الرمز إلى الخادم الرسمي. ومع ذلك ، ذكر الطرف الآخر فجأة شيئًا واحدًا: الصفحة التي صنعتها جميلة جدًا ولديها توافق جيد ، ولكن يمكن أيضًا الوصول إلى هذه الصفحة باستخدام متصفح على جهاز الكمبيوتر الخاص بك ، حتى يتمكن الآخرون من عرض الكود المصدري للصفحة ، ثم نسخ الصفحة بأكملها. هل يمكن أن يكون هناك أي طريقة لمنع هذا؟ ثم يأتي السؤال مرة أخرى. هذه هي المرة الأولى التي أقوم فيها بتطوير WeChat الثانوي. لم أواجه مثل هذا الطلب. كيف يمكنني حلها؟
لم أستطع التفكير في الأمر لفترة من الوقت ، وبعد ذلك وضعت هذه المشكلة جانباً وقمت ببعض الأعمال الخلفية. عند القيام بوظيفة جمع البيانات في الخلفية ، يستخدم رمز PHP المعلمة $ _server ['http_user_agent']. اعتقدت فجأة أنه عندما يزور المتصفح صفحة ويب ، فإنه سيرسل مستخدمًا إلى الخادم ، والذي يحتوي على بعض المعلومات الأساسية حول المستعرض ونظام تشغيل المستخدم. نظرًا لأن WeChat يحتوي على متصفح مدمج ، فهل سيحضر المستخدم شعارًا فريدًا يتعلق بـ WeChat عند تصفح صفحات الويب مع WeChat (بعد كل شيء ، Tencent هي شركة كبيرة ، و WeChat هي واحدة من منتجاتها الأساسية)؟ فقط استخدم الكود لطباعة المستخدم الخاص به لمعرفة ذلك. رمز JavaScript كما يلي:
نسخة الكود كما يلي:
<script type = "text/javaScript">
تنبيه (navigator.useragent) ؛
</script>
حصلت على النتيجة كما هو موضح على هاتفي:
من المؤكد ، لقد رأيت شيئًا مختلفًا حقًا. أعتقد أن الأصدقاء الأذكياء قد اكتشفوا ذلك. هذا صحيح ، هذا هو الشيء: Micromessenger/6.0.0.50_r844973.501. السلسلة خلف Slash هي رقم إصدار WeChat الذي أستخدمه حاليًا ، ويجب أن تكون الجبهة شعارًا فريدًا لـ WeChat. في الواقع ، اعتقدت في البداية أنها كانت ميكرومس ، واعتقدت أن الترجمة الصينية تعني "ميكرومسج" ، ولكن بعد نظرة فاحصة ، وجدت أنه لم يكن كذلك. بعد البحث عن القاموس ، أدركت أن كلمة Messenger تعني "الشخص الذي يبلغ عن الرسالة ، الشخص الذي يرسل الرسالة" ، لذلك لا أعتقد أنها غريبة. يجب أن يقال إن هذا الشعار هو شيء لن يكون له المتصفحات الأخرى ، لذا فإن الحل هنا ، يرجى الاطلاع على الرمز:
نسخة الكود كما يلي:
<script type = "text/javaScript">
// مطابقة مستخدم المستعرض بانتظام. إذا لم يحتوي على معرف WeChat الفريد ، فهو متصفحات أخرى.
var useragent = navigator.useragent ؛
if (useragent.match (/micromessenger/i)! = 'micromessenger') {
// سيحظر مربع التحذير هذا الصفحة الحالية ويستمر في التحميل
تنبيه ('تم حظر هذا الوصول: يجب عليك استخدام المتصفح المدمج في WeChat للوصول إلى هذه الصفحة! ") ؛
// الكود التالي هو إغلاق الصفحة الحالية بقوة مع JavaScript
var open = window.open ('about: blank' ، '_self') ؛
Opened.Opener = null ؛
Open.Close () ؛
}
</script>
تم اختبار هذا الرمز على Android و iPhone و iPad و PC. طالما لم يتم فتح صفحة الويب داخل WeChat ، فإن مربع التحذير أعلاه سيظهر أولاً. في هذا الوقت ، تكون الصفحة خلفها فارغة ولم يتم تحميل أي شيء. عند النقر فوق زر تأكيد مربع التحذير ، فإن الأسطر الثلاثة الأخيرة من التعليمات البرمجية ستغلق الصفحة الحالية بقوة. حسنًا ، لقد أدركت هنا النية الأصلية للمستخدم ، ويمكن القيام بها ببساطة.
انتظر ، هل يمكنك حقًا الانتهاء من العمل مثل هذا؟ هل أنت متأكد من عدم وجود مشاكل أخرى؟ بالطبع لا. في الواقع ، لن تجعلك هذه الطريقة تطمئن ، لأن المستخدمين المزورون ، لا يزال من الممكن تجاوز هذا التقييد. بشكل عام ، هو أن يحرس ضد السادة ولكن الأشرار. يعلم الجميع. بالطبع ، إذا كان لدى أي صديق طريقة أفضل لحل هذه المشكلة ، فيرجى التعليق أدناه أن التكنولوجيا تكمن في المشاركة والتواصل مع بعضها البعض ، هاها.