في الآونة الأخيرة ، كنت أقوم بأوراق وكنت ماهرًا للغاية. لقد صممت الويب مرة أخرى وواجهت مشكلة. في الماضي ، عندما صممت صفحات الويب ، ركضت في IE ، ولم أفكر مطلقًا في Firefox ، ناهيك عن Chrome ، لكن الأمر مختلف الآن. على الأقل ، أعتقد أن صفحات الويب غير المتوافقة مع Firefox قبيحة للغاية ومزيفة ، لذلك من هذا المفهوم ، بدأت في الانتباه إلى هذا التوافق عند تصميم الصفحة. هذه المرة واجهت مشكلة التوافق. يوجد إطار عائم في HTML ، <frame> ، والذي يمكن تضمينه في الصفحة ، وهو مناسب جدًا لصنع صفحة الإطار ، كما هو موضح في الشكل أدناه.
يتم تقسيم صفحة HTML إلى قطعتين ، مع شريط التنقل على اليسار ويتم عرض المحتوى على اليمين. الرمز كما يلي:
الرمز في العمود الأيسر هو:
<iframe frameborder = 0 id = frmtitleleft name = frameleft src = left.html style = الارتفاع: 100 ٪ ؛ العرض: 180 بكسل ؛>
الاتصال بـ Left.html
العمود الأيمن مشابه. بالنسبة للصفحة التي قمت بها ، فإن تأثير المعاينة هو كما يلي:
ما هو التأثير الذي يجب تحقيقه الآن لتحقيق تأثير أكثر عملية؟ يمكن عرض النقر على أي رابط في العمود الأيمن. من الواضح أنه يجب تنفيذها من خلال JS. لن أقول الكثير عن الطريقة الأصلية غير المتوافقة. يرجى تذكر خطوات التنفيذ التالية:
1. احصل أولاً على كائن iframe في العمود الأيمن
إطارات var = document.getElementById (FrameId) ؛ // frameid هو اسم معرف iframe في العمود الأيمن
2. إعادة ضبط قيمة SRC
الإطارات.
هذا يتيح قفزة الصفحة
ولكن هناك نقطة أخرى ، إذا كنت تريد الاتصال بالوظائف ، فليس الأمر بهذه البساطة
على سبيل المثال ، هناك وظيفة الحق () في العمود الأيمن. أريد استدعاء الدالة اليمنى () في الرابط في العمود الأيسر. كيفية تنفيذها
1. أولاً وقبل كل شيء ، يتم تضمين الإطار الأيسر في مؤشر صفحة الحاوية. html ، لذلك تحتاج إلى العودة إلى مستوى الفهرس أولاً والحصول على كائن الإطار الأيمن
VAR Frames = window.parent.window.document.getElementById (FrameId) ؛
2. لتكون قادرًا على تنفيذ الوظائف في صفحتها ، يجب عليك الحصول على كائن النافذة. هنا كائن مهم ، contentWindow. الحصول على هذا الكائن ، ثم يمكنك تنفيذ الوظائف فيه ، مثل
frames.contentwindow.right () ؛
الكود أعلاه متوافق مع IE6 و Firefox3 و Chrome 2.0. لقد نجحوا جميعًا في الاختبار. IE7 لم يحاول ذلك ، ولكن لا ينبغي أن يكون مشكلة.