الموقف الذي يحدث غالبًا في المشاريع هو وجود قائمة، مثل قائمة الحالات، وسيؤدي النقر فوق عنصر في القائمة إلى الانتقال إلى صفحة التفاصيل. يتم إنشاء التفاصيل بناءً على السجل الذي تم النقر عليه، لأنه تتم إضافة الحالات وصفحات التفاصيل المحددة بواسطة المستخدمين لاحقًا عندما نبدأ في الكتابة، فمن المستحيل استنفادها جميعًا. لذلك، عند الانتقال إلى الصفحة، نحتاج إلى تمرير معلمة حتى نتمكن من تقديم طلب بيانات من خلال هذه المعلمة، ثم إنشاء الصفحة بناءً على البيانات التي يتم إرجاعها بواسطة الخلفية. لذلك، فإن القفز عبر العلامة لن ينجح بالتأكيد.
غالبًا ما نكتب النماذج عند الإرسال، يمكننا تمرير المعلمات إذا استخدمنا النموذج وقمنا بإخفائه، فيجب تحقيق التأثير.
بالإضافة إلى ذلك، يمكن لـ window.location.href وwindow.open أيضًا تحقيق التأثير.
1. تمرير المعلمات من خلال النموذج<html lang=en> <head> <!--تنسيق ترميز موقع الويب، الترميز الدولي UTF-8، الترميز الصيني GBK أو gb2312--> <meta http-equiv=content-type content=text/html;charset=utf- 8 /> <اسم التعريف = محتوى الكلمات الرئيسية = الكلمات الرئيسية الأولى، الكلمات الرئيسية الثانية> <اسم التعريف = محتوى الوصف = محتوى وصف موقع الويب> <اسم التعريف = محتوى المؤلف = إيفيت لاو> <title>المستند</title> <!--مقدمة عن ملف css js--> <!-- <link rel=shortcut icon href=images/favicon.ico> --> <link rel=stylesheet href=/> <نوع البرنامج النصي = نص/جافا سكريبت src = jquery-1.11.2.min.js></script> </head> <body> <اسم النموذج = طريقة frm = الحصول على إجراء = تلقي.html onsubmit = return foo() style = Position:relative;> <نوع الإدخال=اسم مخفي=قيمة hid = فهرس = ليمون> <img class = more src = main_jpg10.png /> <نوع الإدخال = نمط الإرسال = الموضع:مطلق; اليسار:10px;الأعلى:0px;العرض:120px;الارتفاع:40px;التعتيم:0;المؤشر:المؤشر;/> </form> <اسم النموذج = طريقة frm = الحصول على الإجراء = تلقي.html onsubmit = return foo() style = الموضع: النسبي؛> <نوع الإدخال= الاسم المخفي=قيمة hid = الفهرس = aaa> <فئة img = المزيد من src = main_jpg10.png /> <نوع الإدخال = نمط الإرسال = الموضع: مطلق؛ اليسار: 10px؛ الأعلى: 0px؛ العرض: 120px؛ الارتفاع: 40px؛ التعتيم: 0؛ المؤشر: المؤشر؛/> </form> <اسم النموذج = طريقة frm = الحصول على إجراء = تلقي.html onsubmit = العودة نمط foo () = الموضع: نسبي؛> <نوع الإدخال = الاسم المخفي = قيمة المخفي = الفهرس = bbb> <فئة img = المزيد من src = main_jpg10.png /> <نوع الإدخال = نمط الإرسال = الموضع:مطلق;left:10px;top:0px;width:120px;height:40px;opacity:0;cursor:pointer;/> </form> </body> </html><script> function foo(){ var frm = window.event.srcElement; frm.hid.value = $(frm.hid).attr(index);
عند النقر على الصورة، سوف تنتقل إلى صفحةrece.html. يصبح عنوان URL للصفحة:
لقد تم تمرير السلسلة التي نريد تمريرها.
ثم قم بإجراء تقسيم السلسلة على عنوان URL الحالي
window.location.href.split(=)[1]//احصل على الليمون
بعد أن نحصل على المعلمات التي يجب تمريرها، يمكننا المضي قدمًا في الخطوة التالية بناءً على ذلك.
بالإضافة إلى تقسيم السلسلة المذكورة أعلاه للحصول على المعلمات التي تم تمريرها بواسطة عنوان URL، يمكننا أيضًا الحصول عليها من خلال المطابقة العادية وطريقة window.location.search.
2. من خلال window.location.hrefعلى سبيل المثال، عندما ننقر على قائمة، نحتاج إلى تمرير سلسلة إلى صفحة Detail.html، ثم تقوم صفحة Detail.html بتحميل محتوى الصفحة من خلال بيانات تفاعل ajax بناءً على القيمة التي تم تمريرها.
var Index = Lemon; var url = get.html?index=+index; $(#more).click(function(){ window.location.href = url; });
سيتم استبدال الصفحة الحالية بصفحة recieve.html، وسيصبح عنوان URL للصفحة:
ثم نستخدم الطريقة المذكورة أعلاه لاستخراج المعلمات التي نحتاجها
3. من خلال window.location.openإذا كنت تريد فتح صفحة جديدة بدلاً من تغيير الصفحة الحالية، فإن window.location.href غير قابل للتطبيق في هذا الوقت، نحتاج إلى استخدام window.location.open() لتحقيق ذلك.
مقدمة موجزة عن وظيفة window.open(). تحتوي window.open() على ثلاث معلمات. المعلمة الأولى هي عنوان URL للصفحة التي سيتم فتحها. المعلمة الثانية هي هدف النافذة. المعلمة الثالثة هي سلسلة محددة قيمة منطقية تشير إلى ما إذا كانت الصفحة الجديدة تحل محل الصفحة المحملة حاليًا في سجل المتصفح أم لا، ويجب تمرير المعلمة الأولى فقط. يمكن أن تكون المعلمة الثانية أيضًا اسمًا خاصًا لنافذة مثل _blank، و_self، و_parent، و_top. يفتح _blank نافذة جديدة، ويحقق _self نفس التأثير الذي يحققه window.location.href.
الاستمرار في المثال أعلاه:
<script> var Index = Lemon; var url =receive.html?index=+index; $(#more).click(function(){ window.open(url) });</script>
بهذه الطريقة، عند النقر عليه، سيتم فتح صفحة جديدة بنفس عنوان URL الموضح أعلاه.
نظرًا للقيود الأمنية للمتصفح، تضيف بعض المتصفحات قيودًا على تكوين النوافذ المنبثقة، حيث تحتوي معظم المتصفحات على برامج مدمجة لحظر النوافذ المنبثقة أحد الاحتمالات هو أن برنامج الحظر المدمج في المتصفح يحظر النوافذ المنبثقة، لذلك من المحتمل أن يُرجع window.open() قيمة فارغة. في هذا الوقت، يمكنك تحديد ما إذا كانت النافذة المنبثقة قد تم حظرها أم لا من خلال مراقبة القيمة المرتجعة.
var newWin = window.open(url);if(newWin == null){ تنبيه(تم حظر النافذة المنبثقة);}
والآخر عبارة عن نافذة منبثقة تم حظرها بواسطة ملحق متصفح أو برنامج آخر، ثم عادةً ما يُلقي window.open() خطأً، لذلك، لاكتشاف ما إذا كانت النافذة المنبثقة محظورة بدقة، يجب عليك اكتشاف القيمة المرجعة في نفس الوقت، يتم تغليف window.open() في كتلة محاولة الالتقاط، في المثال أعلاه، يمكن كتابتها على النحو التالي:
<script> var block = false; حاول{ var Index = Lemon; var url = rise.html?index=+index; $(#more).click(function(){ var newWin = window.open(url); if (newWin == null){ blocked = true } });
ما ورد أعلاه هو المحتوى الكامل لهذه المقالة وآمل أن يكون مفيدًا لدراسة الجميع وآمل أيضًا أن يدعم الجميع شبكة VeVb Wulin.