Iframe و Frame - چه هستند و بهترین روش استفاده از فریم ها در Html. استفاده از فریم در HTML نحوه باز کردن اسناد با استفاده از پیوند در یک فریم
اصطلاح "قاب" از آنجا به ما رسید به انگلیسی. ترجمه شده، این کلمه به معنای "قاب" است و یک منطقه جداگانه از پنجره را نشان می دهد. در ساختار خود، چنین بخش یک سند HTML کاملاً تمام شده است.
فریم های جداگانه پنجره های مرورگر را به بخش هایی تقسیم می کنند که در کنار هم قرار می گیرند. در این حالت، هر فریم با صفحه کامل خود بارگذاری می شود. فناوری قاب هنوز هم جنجال های زیادی ایجاد می کند، اما باید گفت که اوج محبوبیت آن قبلاً سپری شده است. که در این لحظهاین فناوری منسوخ شده است و فریم های معمولی دیگر در HTML5 پشتیبانی نمی شوند.
تاریخچه فناوری
امروز می توانیم بگوییم که تصمیم به دور شدن از کار با فناوری قاب بالاخره گرفته شده است. سایت https://www.w3.org/TR/html5-diff/#obsolete-elements به وضوح بیان می کند که برچسب های فریم، مجموعه فریم و نوفریم های معمول برای ایجاد چنین ساختاری منسوخ شده است. به عنوان استدلال، داده هایی ارائه می شود که استفاده از چنین ساختاری بر قابلیت استفاده سایت ها و دسترسی آنها در اینترنت تأثیر منفی می گذارد.
اما فناوری های مدرن از عنصر IFRAME پشتیبانی می کنند. استفاده از آن به شما امکان می دهد فریم هایی را در بلوک های متنی در صفحات وارد کنید. علاوه بر این، چنین عناصری را می توان نسبت به خود متن تراز کرد. یک نکته مهم: در اصل نمی توانید اندازه فریم های داخلی را تغییر دهید. آنها ویژگی متناظری برای تغییر اندازه ندارند.
در آینده، بدون جهش در فناوری، استفاده بیشتر از قاب ها بعید است. و شایان ذکر است که سازمان پیشرو برای استانداردسازی فناوری های اینترنت - W3C - به وضوح نشان داده است که چنین ساختارهایی نباید توسط توسعه دهندگان وب سایت استفاده شود.
یعنی اصولاً نباید از فریم ها برای ساختاربندی صفحات هنگام ایجاد منابع جدید استفاده شود. اما با پشتیبانی و بهبود سایت های موجود، آگاهی از ویژگی های فناوری و استفاده از آنها بسیار مفید و سازنده خواهد بود.
مزایای قاب
از جمله مزایای فناوری قاب می توان به سهولت استفاده، سرعت بالا و امکان قرارگیری دقیق اطلاعات در قسمت های خاصی از پنجره اشاره کرد.
استفاده از فریم باعث صرفه جویی در حجم ترافیک ارسالی در حین کار با سایت می شود. از این گذشته، هنگام دسترسی به بخش دیگری از اطلاعات، معمولا فقط یک بخش از صفحه به روز می شود و نه کل کد آن.
این ساختار گزینه های ناوبری جالبی را از طریق محتوای منابع فراهم می کند. پس از همه، در داخل پنجره مرورگر در فریم های مجاور می توانید بلوک های اطلاعاتی مختلفی را مشاهده کنید. برای کاربران مهم است که بدانند جستجو در یک فریم معادل انجام چنین عملیاتی در یک صفحه جداگانه است.
در حین کار با سایت، می توانید به صورت پویا اندازه یک بخش جداگانه را تغییر دهید که اجرای آن با استفاده از راه حل های تکنولوژیکی دیگر دشوار است.
معایب احتمالی
مشکلات وبسایتهایی که از فریمها استفاده میکنند به تدریج انباشته شد، اما امروزه به یک سطح آستانه رسیده است. از جمله معایب اصلی عبارتند از:
قابلیت استفاده رضایت بخش امروزه، سهم کاربران دستگاههای تلفن همراه و تبلتهای با وضوح صفحه نمایش کوچک در حال رشد است و در حال حاضر از تعداد افرادی که از رایانههای رومیزی و لپتاپ از سایتها بازدید میکنند، بیشتر است. و در اینجا استفاده از فریم مشکلات جدی در سازگاری صفحات در هنگام نمایش ایجاد می کند دستگاه های مختلف. این مشکل امروزه راه حل عملی ندارد.
بدتر شدن دسترسی به سایت برای برنامه های مختلف. افزایش تعداد برنامه های اضافی (به عنوان مثال، صفحه خوان ها) دسترسی بسیار بدتری به اطلاعات برای خواندن نشان می دهد.
صفحات به درستی نمایش داده نمی شوند. اغلب چیدمان صفحات با چنین ساختاری در مرورگرها از نقطه نظر طراحی نادرست به نظر می رسد. و این به دلیل ویژگی های تکنولوژی است. از نقطه نظر سئو، استفاده از فریم در طرح بندی HTML یک صفحه بسیار نامطلوب است.
در دسترس بودن یک آدرس واحد برای کل ساختار. در نتیجه، صفحات داخلی چنین سایتی را نمی توان نشانه گذاری کرد. این امر باعث ایجاد ناراحتی برای کاربران می شود.
نمایه سازی نادرست توسط موتورهای جستجو وجود چندین سند کامل در یک وب سایت که از آن یک صفحه تشکیل شده است، کار موتورهای جستجو را به طور قابل توجهی پیچیده می کند. این منجر به خطاهای قابل توجهی در طول نمایه سازی می شود. در نتیجه، تعریف نادرست موضوعات و آدرس صفحه منجر به از دست دادن محتوای مهم از نمایه سازی می شود.
بی احترامی این یک نقص نسبتاً غیرعادی برای منابع موجود در شبکه است. و با این حال باید گفت که این واقعیت که چیدمان سایت ها روی فریم ها در حال منسوخ شدن است منجر به این واقعیت می شود که نویسندگان و صاحبان چنین منابعی واپسگرا به حساب می آیند. اما چند استثنا وجود دارد. حتی سایت های مدرنی که میزبان اتاق های گفتگو هستند معمولا از فریم استفاده می کنند.
نمایه سازی فریم ها توسط موتورهای جستجو
اطلاعاتی که از موتورهای جستجو به دست می آید به وضوح به ما می گوید که سایت های دارای فریم به طور قابل توجهی کندتر ایندکس می شوند. در این مورد، اغلب خطاهای مربوط به خود ساختار ایجاد می شود. پس از همه، هر فریم یک صفحه اینترنتی کامل را نمایش می دهد. و فقط چنین بخشی از سایت ممکن است در پایگاه داده نمایه سازی گنجانده شود.
جنبه منفی چنین نمایه سازی این است که هنگام رفتن به داخل صفحه، کاربر معمولاً منوها و سایر مکانیسم های ناوبری را نمی بیند. و این تعجب آور نیست. باید بدانید که به روز رسانی قاب در این مورد راه حلی برای مشکل نیست. پس از همه، تمام مکانیسم های ناوبری در یک ظرف دیگر قرار می گیرند.
مشکل دیگر این است که اغلب صفحه اصلی یک ساختار کانتینر فقط شامل یک عنوان، تگ های توضیحات متا و یک تگ FRAMESET است. و این منطقی به نظر می رسد - پس از همه، محتوای معنی دار در اسناد جداگانه قرار می گیرد. اینها هستند که بازدید کننده سایت در صفحه در فریم مشاهده می کند.
اما یک ربات جستجوگر تقریبا هرگز چنین صفحه ای را ایندکس نمی کند. او هیچ محتوایی در آن پیدا نمی کند که برای بازدیدکنندگان مفید باشد. ربات های جستجو به گونه ای پیکربندی شده اند که سعی می کنند اطلاعاتی را که در داخل تگ بدنه قرار داده شده است بازیابی و فهرست بندی کنند. اینجاست که جستجوی محتوای مفید برای کاربر اتفاق می افتد. اما در صفحه فریم چنین برچسبی وجود ندارد، FRAMESET جایگزین آن شده است.
این مشکل تا حدی با استفاده از NOFRAMES قابل حل است. اما در بسیاری از سایت ها هنگام دسترسی به آن فقط اطلاعاتی داده می شود که مرورگر از فریم ها پشتیبانی نمی کند. و برای مشاهده صفحه باید از برنامه دیگری استفاده کنید.
چنین مواردی مشکلات زیادی را برای کاربرانی ایجاد می کند که در هنگام بازدید از یک سایت، منو و سایر اطلاعاتی که باید نمایش داده شود را مشاهده نمی کنند. اگر فریم ها در یک وب سایت قرار گیرند، پارامترهای آن از نظر سئو کاهش می یابد. در عین حال، آمار رفتار کاربر نشان می دهد که اعتبار منبع در بین موتورهای جستجو در حال سقوط است. این قطعاً تأثیر منفی بر ترافیک وب سایت دارد.
پردازش ساختارهای پرسنل تودرتو و چندگانه برای موتورهای جستجو و رباتهای نمایهسازی دشوار است. این واقعیت که هر ظرف دارای تمام ویژگی های یک سند جداگانه است، اما حاوی اطلاعات کامل ناوبری و سایر اطلاعات نیست، وضعیت را پیچیده تر می کند.
با استفاده از پیوند صحیح در صفحات می توانید کار موتورهای جستجو را آسان تر کنید. در این مورد، باید تمام پیوندهای منو را کپی کنید تا بتوان آنها را در هر بخش جداگانه از صفحه پیدا کرد. اما این امر به طور قابل توجهی کار بهینه سازی سایت و به روز رسانی اطلاعات روی آن را پیچیده و کند می کند.
تجربه بسیاری از بهینه سازها و وب مسترها نیز نشان می دهد که صفحات روی فریم ها رتبه بالایی در نتایج جستجو دریافت نمی کنند. این اتفاق می افتد حتی اگر آنها در پایگاه داده نمایه سازی گنجانده شوند.
ویژگی های ارتقاء وب سایت در فریم
برخی از موتورهای جستجو فایل های فریم شده را اشتباه یا بسیار نادرست فهرست بندی می کنند. در نتیجه، پایگاه داده فهرست نه با آدرس منابع والدین (آنطور که باید باشد)، بلکه با پیوندهایی به سایت های فرزند پر می شود.
برای به حداقل رساندن مشکلات نمایه سازی سایت ها بر اساس فریم ها، از برچسب ها و پارامترهای خاصی در هنگام توصیف آنها استفاده می شود. عنصر اصلی ساختار کانتینر مجموعه فریم است. این اوست که بدنه استاندارد را در کد منبع جایگزین می کند. هر ظرف جداگانه در ساختار با یک قاب توصیف می شود. مقدار آن در کد صفحه مطابق با تعداد بخش های جداگانه نمایش داده شده در پنجره مرورگر هنگام مشاهده است.
این برچسب ها باید بر روی آنها قرار داده شود صفحه نخستسایت، و سپس محتوای هر یک از آنها را کپی کنید.
زمینه های کاربرد قاب ها
توسعه دهندگان اسناد HTML انتخاب نسبتاً گسترده ای از فرم ها برای نمایش اطلاعات در صفحات دارند. متن و اطلاعات گرافیکیمی توان با استفاده از فهرست ها، جداول، یا به سادگی با استفاده از گزینه های تراز، تنظیم خطوط افقی و تقسیم به پاراگراف ها، مرتب و سازماندهی کرد. گاهی اوقات این ویژگی ها کافی نیست و سپس باید پنجره مرورگر را به قسمت ها یا فریم های جداگانه تقسیم کنید. در تعدادی از توضیحات به زبان روسی از زبان HTML، از عبارت فریم به جای عبارت فریم استفاده شده است. فراوانی استفاده از هر دو اصطلاح تقریباً یکسان است.
انتخاب ساختار قاب برای نمایش اطلاعات در WWW در موارد زیر توجیه می شود:
در صورت لزوم، هنگام کار در زیرمنطقه دیگر، بارگیری اسناد را در یکی از زیر ناحیه های پنجره مشاهده مرورگر مدیریت کنید.
برای قرار دادن اطلاعات در یک مکان خاص در پنجره مشاهده که همیشه باید روی صفحه باشد، صرف نظر از محتوای سایر مناطق فرعی صفحه.
برای ارائه اطلاعاتی که به راحتی در چندین ناحیه فرعی مجاور پنجره مرتب شده اند، که هر کدام به طور مستقل قابل مشاهده هستند.
لیست داده شده تمام موارد ممکن را که می توان فریم ها را اعمال کرد، تکمیل نمی کند، اما ماهیت توصیه ای دارد.
اجازه دهید ابتدا استفاده های معمولی از فریم ها را با استفاده از نمونه هایی از اسناد HTML واقعی در نظر بگیریم و سپس به قوانین توسعه اسناد حاوی فریم بپردازیم.
در شکل شکل 5.1 یکی از صفحات HTML آژانس Finmarket را نشان می دهد که در ارائه اطلاعات از بازارهای مالی و سهام روسیه تخصص دارد.
برنج. 5.1.یک سند وب معمولی با ساختار قاب
این صفحه پنجره مرورگر را به سه فریم تقسیم می کند. قسمت پایینپنجره 20 درصد از ارتفاع کل پنجره را اشغال می کند و حاوی اطلاعات دائمی است که در این حالت یک منوی گرافیکی است که به شما امکان می دهد در هر زمان به مهمترین بخش ها دسترسی داشته باشید. این قاب نمی تواند اندازه خود را بر اساس دستورات کاربر تغییر دهد و نوارهای اسکرول ندارد. قسمت بالاپنجره (80 درصد ارتفاع) به صورت افقی به دو قاب تقسیم می شود. کادر سمت چپ شامل فهرست محتویات اسنادی است که کاربر می تواند آن را مشاهده کند. قاب سمت راست، که بیشتر پنجره مشاهده را اشغال می کند، برای نمایش خود اسناد در نظر گرفته شده است. هنگامی که در ابتدا بارگذاری می شوند، این دو فریم پنجره مرورگر را به صورت افقی با نسبت 15% به 85% تقسیم می کنند. این نسبت می تواند توسط کاربر در حین مشاهده تغییر یابد، که به شما امکان می دهد اندازه های فریم بهینه را با در نظر گرفتن محتوای اسناد بارگذاری شده انتخاب کنید. هر یک از این فریم ها نوار اسکرول مخصوص به خود را دارند که به شما امکان می دهد کل محتویات قاب را بدون توجه به اندازه خود قاب، کل پنجره مرورگر یا فونت های استفاده شده مشاهده کنید. وقتی پیوندی را در کادر سمت چپ انتخاب می کنید، سند مربوطه در قاب سمت راست بارگذاری می شود. این ساختار به شما این امکان را می دهد که هم فهرست محتویات اسناد و هم محتویات سند انتخاب شده را به طور همزمان روی صفحه مشاهده کنید.
در اینجا، بدون توضیح، بخشی از کد HTML مورد استفاده برای ساخت یک سند با این ساختار است:
این مثال معمول ترین استفاده از ساختارهای قاب را نشان می دهد، جایی که یک فریم به عنوان فهرست مطالب برای اسناد و دیگری برای بارگذاری محتوای آنها استفاده می شود. حل چنین مشکلی بدون استفاده از فریم معمولا به صورت زیر انجام می شود. در یکی از صفحات فهرستی از مطالب وجود دارد که شامل پیوندهایی به اسناد دیگر یا تکه تکه های آنهاست. وقتی روی چنین لینکی کلیک می کنید فهرست مطالب ناپدید می شود و سند مورد نیاز در جای خود بارگذاری می شود که پس از مطالعه معمولاً باید به فهرست مطالب بازگردید. هنگام استفاده از فریم ها، این بازگشت غیر ضروری می شود، زیرا فهرست مطالب همیشه در بخشی از صفحه نمایش قرار دارد.
می توانید آن را در اینترنت پیدا کنید
وب سایت نسخه الکترونیکی آدرس و فهرست تلفن محبوب "همه پترزبورگ" در سن پترزبورگ.
نسخه الکترونیکی فهرست در دسترس است http://www.allpetersburg.ruو به شما امکان می دهد اطلاعات لازم را بر اساس درخواست کاربران پیدا کنید. این صفحه سند نیز ساختار فریمی دارد و از دو فریم تشکیل شده است که اولی 100 پیکسل عرض دارد و دومی کل عرض باقیمانده نما را اشغال می کند. قاب واقع در سمت چپ برای منوی گرافیکی استفاده می شود که به طور مداوم بر روی صفحه نمایش وجود دارد و همچنین حاوی لوگوی شرکت Nevalink است. فریم دوم حاوی سند است که در این مورد فرم درخواست کاربر است. ساختار این صفحه با کد HTML زیر تعریف شده است:
فریم ها بسیار شبیه به جداول هستند - هر دو پنجره مرورگر را به قسمت های مستطیلی تقسیم می کنند که برخی از اطلاعات در آنها قرار دارد. با این حال، با کمک فریم ها، می توانید نه تنها مشکل قالب بندی صفحات سند را حل کنید، بلکه تعامل بین آنها را نیز سازماندهی کنید. تفاوت اساسی بین فریم ها و جداول این است که هر فریم باید سند HTML جداگانه خود را داشته باشد، اما محتویات تمام سلول های جدول همیشه بخشی از یک سند هستند. علاوه بر این، صفحه نمایش داده شده در قاب می تواند در صورت مشاهده مستقل از سایرین، پیمایش کند. هر فریم در اصل یک "مینی مرورگر" جداگانه است. بر خلاف قاب ها که کل ساختار آنها همیشه روی صفحه نمایش داده می شود، جداول ممکن است به طور کامل در پنجره جا نشوند و فقط در قسمت هایی قابل مشاهده باشند. نتیجه این است که اگر در جداول HTML تعداد کل سلول ها عملاً نامحدود باشد و می تواند به چند صد نفر برسد، تعداد فریم ها در یک سند معمولاً از چندین واحد تجاوز نمی کند.
مشاوره
اگر فقط نیاز به قالب بندی یک سند دارید، کافی است خود را به استفاده از جداول محدود کنید. اگر نیاز به حل مشکلات پیچیده تری دارید، به عنوان مثال، تعامل بین زیرمناطق پنجره را سازماندهی کنید یا مناطق فرعی ایجاد کنید که به طور دائم روی صفحه قرار دارند، استفاده از قاب ها راحت است.
در نهایت، انتخاب ساختار سند - جدولی یا قاب - به عوامل زیادی بستگی دارد و نمی توان به طور واضح از قبل تعیین کرد.
نیز وجود داردصفحاتی که به نظر می رسد مشابه صفحات قبلی ساخته شده اند. به عنوان مثال، شما می توانیدصفحه یک مجموعه بسیار محبوب در سراسر جهان از محصولات نرم افزاری که عمدتاً برای کار با اینترنت طراحی شده اند. آدرس سرور http://www.tucows.com. توجه داشته باشید که نام سرور با علامت اختصاری برگرفته از مخفف نام کامل مجموعه - The Ultimate Collection of Winsock Software تعیین شده است. از آنجایی که مشخص شد مخفف tucows با عبارت two cows (دو گاو) همخوانی دارد، اغلب تصاویر گاوها در صفحات سرور یافت می شود و رتبه محصولات نرم افزاری بر اساس تعداد mooing ها ("Moo") تخمین زده می شود و به صورت گرافیکی به عنوان ردیفی از تعداد مربوطه گاو به تصویر کشیده شده است. اکثر صفحات سرور به همین ترتیب ساخته شده اند - در سمت چپ پنجره لیستی از بخش های موجود و در سمت راست لیستی از محصولات نرم افزاری برای بخش انتخاب شده وجود دارد. در نگاه اول، ساختار سند باید تقریباً مشابه نمونه های قبلی باشد. با این حال، این سند از فریم استفاده نمی کند! این صفحه با استفاده از جدولی ساخته شده است که فقط از یک ردیف با دو خانه تشکیل شده است. جدول فاقد قاب است و فقط به منظور قالب بندی صفحه عمل می کند. تصور یک صفحه نمایش عمودی تقسیم شده با استفاده از یک پس زمینه گرافیکی حاوی ایجاد می شود خط عمودی، و اصلاً یک شبکه جدول نیست. می توانید با مشاهده صفحه بدون بارگیری تصاویر، این موضوع را تأیید کنید. استفاده از جدول در اینجا ظاهراً به دلیل ملاحظات دسترسی بیشتر به اسناد است، زیرا فریم ها اجازه نمایش در همه مرورگرها را نمی دهند.
نقطه ضعف این روش در این مورد نیاز به تکرار کل لیست بخش ها (سمت چپ صفحه) در هر سند است که اندازه فایل را کمی افزایش می دهد.
مقایسه نمونههای بالا نشان میدهد که استفاده از جداول و فریمها گاهی اوقات میتواند قابل تعویض باشد و بر اساس خواستههای توسعهدهندگان تعیین شود. توجه داشته باشید که اغلب وقتی به صفحه ای نگاه می کنید که سندی روی آن نمایش داده شده است، تعیین نحوه ساخت آن غیرممکن است. کاربر نهایی نیازی به دانستن ساختار داخلی سند ندارد، اما هنگام توسعه صفحات وب خود، آشنایی با کد منبع اسناد موجود بسیار مفید خواهد بود. در مثال اول (شکل 5.1 را ببینید)، ساختار قاب سند بلافاصله قابل مشاهده است - وجود دو نوار اسکرول عمودی از قبل وجود فریم های جداگانه را تعیین می کند. دو مثال زیر از نظر ظاهری بسیار شبیه به هم هستند و نمی توان تعیین کرد که اولی آنها با استفاده از قاب ها ساخته شده است و دومی - با استفاده از جداول. تفاوت ها فقط هنگام کار با آنها ظاهر می شوند. در مثال دایرکتوری تلفن، هنگام پیمایش یک سند، قسمت چپ پنجره در جای خود باقی می ماند که تنها در صورت وجود ساختار قاب امکان پذیر است. در مثال زیر (مجموعه ای از محصولات نرم افزاری)، پیمایش کل محتویات پنجره را جابه جا می کند.
می توانید ساختار سند را هنگام کار با مرورگر Netscape با استفاده از آیتم Page Info (در نسخه های 3.x مرورگر Netscape این آیتم منو Document Info نامیده می شد) از منوی View مشاهده کنید (شکل 5.2).
برنج. 5. 2
.
منوی مشاهده مرورگر Netscape
علاوه بر این، همیشه میتوانید کد منبع HTML کل سند را با استفاده از آیتم منبع صفحه در منوی View (یا آیتم View Frame Source در منوی زمینه کلیک راست کنید تا کد HTML سند بارگیری شده را مشاهده کنید. قاب انتخاب شده).
مشاوره
از استفاده بی مورد از قاب ها نباید سوء استفاده کنید و تعداد آنها نباید از سه یا چهار بیشتر شود.
اغلب در صفحات واقعی در اینترنت می توانید موارد زیر را از استفاده از فریم ها مشاهده کنید:از دو قاب مجاور برای بارگیری اسنادی استفاده می شود که مشاهده همزمان و مقایسه آنها با یکدیگر راحت است. هر یک از دو سند بارگذاری شده در فریم ها از یک فرم جدولی برای ارائه اطلاعات استفاده می کند. در نتیجه این سازمان دهی داده ها، هر یک از دو جدول را می توان به طور جداگانه مشاهده (یا چاپ کرد) یا در مقایسه با دیگری مطالعه کرد.
تمام مثال های ارائه شده در این بخش از صفحات سرورهای محبوب WWW گرفته شده است و شاید بتواند به عنوان نمونه ای از استفاده از فریم ها در اسناد HTML باشد.
بخشهای بعدی این فصل قوانینی را برای نوشتن اسناد حاوی فریم پوشش میدهد.
قوانینی برای توصیف فریم ها
اجازه دهید اکنون به بررسی قوانین نوشتن برچسب های مورد استفاده برای اسناد با ساختار قاب بپردازیم.
بیایید ابتدا به کد HTML کاملی که سندی با فریم های پیچیدگی متوسط ایجاد می کند نگاه کنیم:
این مثال صفحه قاب شده نشان داده شده در شکل را ایجاد می کند. 5.3. همانطور که می بینید، این کد HTML چهار فریم را تعریف می کند. قاب بالایی تمام عرض صفحه را در بر می گیرد و شامل عنوان است. بعد دو فریم مرکزی قرار دارند که یکی در سمت چپ قرار دارد و 25 درصد از عرض صفحه را اشغال می کند و دومی فضای باقیمانده را اشغال می کند. آخرین، چهارمین فریم، یک چهارم پایین صفحه را اشغال می کند. یک سند HTML جداگانه در هر فریم بارگذاری می شود که نام آن توسط پارامتر SRC تعیین می شود.
همانطور که از مثال مشخص است، از برچسب ها برای توصیف ساختار فریم ها استفاده می شود
, و . بیایید به هدف این برچسب ها نگاه کنیم.
برنج. 5. 3
.
نتیجه مرورگر نت اسکیپ که سند HTML را با فریم های نشان داده شده در مثال نشان می دهد
برچسب بزنید
فریم ها در ساختاری به نام FRAMESET تعریف می شوند که برای صفحات حاوی فریم به جای بخش BODY استفاده می شود. سند معمولی. صفحات وب متشکل از فریم نمی توانند شامل بخش BODY در کد HTML خود باشند. به نوبه خود، صفحات دارای بخش BODY نمی توانند از فریم استفاده کنند.
مشاوره
از آنجایی که صفحات قاب شده دارای بخش BODY نیستند، راهی برای تنظیم تصویر پس زمینه و رنگ پس زمینه برای کل صفحه وجود ندارد. به یاد داشته باشید که این تنظیمات توسط پارامترهای BACKGROUND و BGCOLOR که در تگ BODY نوشته شده اند تعیین می شوند. با این حال، این مانع از بارگیری اسناد با تنظیمات پس زمینه خاص خود در هر فریم نمی شود.
ظرف برچسب ها
وهر بلوک تعریف فریم را فریم می کند. داخل ظرف فقط می تواند حاوی برچسب باشد و تگ های تو در تو .
برچسب بزنید
دارای دو پارامتر ROWS (ردیف) و COLS (ستون) است و به صورت زیر نوشته می شود:
.
توجه داشته باشید
برخی از مرورگرها به پارامترهای برچسب اضافی اجازه می دهند
می توانید مقادیر ROWS یا COLS یا هر دو را تعریف کنید. لازم است حداقل دو مقدار برای حداقل یکی از این پارامترها تعریف شود. اگر پارامتر دیگری حذف شود، مقدار آن 100% در نظر گرفته می شود.
مشاوره
اگر در یک برچسب اگر فقط یک مقدار برای ROWS و COLS تعریف شده باشد، این تگ نامعتبر در نظر گرفته می شود و مرورگر آن را نادیده می گیرد. به عبارت دیگر نمی توان تعیین کرد ، که فقط از یک قاب تشکیل شده است.
فهرست مقادیر پارامتر ROWS و COLS تگ
لیستی از مقادیر جدا شده با کاما است که می تواند در پیکسل، درصد یا واحدهای نسبی مشخص شود. تعداد سطرها یا ستون ها با تعداد مقادیر موجود در لیست مربوطه تعیین می شود. مثلا ضبط کنید
مجموعه ای از سه فریم را تعریف می کند. این مقادیر مقادیر پیکسل مطلق هستند. به عبارت دیگر، فریم اول (ردیف اول) 100 پیکسل ارتفاع، دومی 240 پیکسل و آخرین 140 پیکسل است.
تنظیم مقادیر اندازه فریم در پیکسل خیلی راحت نیست. این واقعیت را در نظر نمی گیرد که مرورگرها بر روی سیستم عامل های مختلف و با وضوح نمایش متفاوت اجرا می شوند. در عین حال، می توان مقادیر مطلق اندازه را برای برخی موارد تعریف کرد، به عنوان مثال، برای نمایش یک تصویر کوچک با ابعاد مشخص. بهترین گزینه تنظیم مقادیر در درصد یا واحدهای نسبی است، به عنوان مثال:
.
این مثال سه فریم را ایجاد می کند که به عنوان ردیف در عرض کامل صفحه قرار می گیرند. ردیف بالا 25 درصد از ارتفاع صفحه نمایش موجود، ردیف میانی 50 درصد و ردیف پایین 25 درصد از ارتفاع صفحه نمایش را اشغال می کند. اگر مجموع درصدهای مشخص شده برابر 100٪ نباشد، مقادیر به طور متناسب مقیاس می شوند تا نتیجه دقیقاً 100٪ باشد.
مقادیر در واحدهای نسبی به شرح زیر است:
.
از ستاره (*) برای تقسیم فضا به نسبت استفاده می شود. هر ستاره نمایانگر بخشی از کل است. با جمع کردن تمام مقادیر اعداد کنار ستاره ها (اگر یک عدد حذف شود، یک فرض می شود)، مخرج کسری را به دست می آوریم. در این مثال، ستون اول 1/6 از کل عرض پنجره، ستون دوم 2/6 (یا 1/3) و آخرین ستون 3/6 (یا 1/) را اشغال می کند. 2).
به یاد داشته باشید که یک مقدار عددی بدون هیچ کاراکتری تعداد مطلق پیکسل ها را برای یک سطر یا ستون مشخص می کند. یک مقدار با علامت درصد (%) نسبت عرض کل (برای COLS) یا ارتفاع (برای ROWS) درگاه دید را مشخص میکند و یک مقدار با ستاره (*) توزیع متناسب فضای باقیمانده را مشخص میکند.
در اینجا یک مثال است که از هر سه گزینه برای تنظیم مقادیر استفاده می کند:
.
در این مثال، عرض ستون اول 100 پیکسل خواهد بود. ستون دوم 25 درصد از کل عرض نما را اشغال می کند، ستون سوم 1/3 فضای باقیمانده را اشغال می کند و در نهایت ستون آخر 2/3 را اشغال می کند. توصیه می شود ابتدا مقادیر مطلق را به ترتیب از چپ به راست اختصاص دهید. دنبال می شوند مقادیر درصداز کل اندازه فضا در نهایت، مقادیری ثبت می شود که تقسیم متناسب فضای باقی مانده را تعیین می کند.
مشاوره
اگر از مقادیر مطلق COLS یا ROWS استفاده میکنید، آنها را کوچک نگه دارید تا در هر پنجره مرورگر قرار بگیرند و در صورت نیاز، آنها را پاک کنید. حداقل، یک مقدار واحد که به صورت درصد یا نسبی مشخص می شود تا فضای باقیمانده را پر کند.
اگر از تگ استفاده شود
، که در آن هر دو COLS و ROWS مشخص شده است، یک شبکه از فریم ها ایجاد می شود. مثلا:
این خط کد HTML یک شبکه فریم با سه ردیف و دو ستون ایجاد می کند. خطوط اول و آخر هر کدام 1/4 ارتفاع و خط وسط نیمی از ارتفاع را به خود اختصاص می دهند. ستون اول 2/3 عرض را اشغال می کند و ستون دوم - 1/3.
ظرف
همانطور که در مثال اولیه نشان داده شد، می توان داخل یک ظرف مشابه دیگر تو در تو قرار داد. بیایید استفاده از تگ را بیشتر در نظر بگیریم .
توجه داشته باشید
برخی از منابع در زبان HTML نشان می دهد که پارامترهای COLS و ROWS تگ متقابل منحصر به فرد هستند. با این حال، هر دو Netscape و Microsoft Internet Explorer به آنها اجازه می دهند که با هم استفاده شوند.
برچسب بزنید
برچسب بزنید یک فریم واحد را تعریف می کند. باید در داخل یک جفت تگ قرار گیرد
و. مثلا:
لطفا توجه داشته باشید که برچسب ظرف نیست و بر خلاف
برچسب پایانی ندارد. کل تعریف یک فریم با یک خط کد HTML انجام می شود.
برچسب های زیادی برای ضبط وجود دارد در هنگام تعیین تگ، چند فریم جداگانه تعریف می شود
. در مثال قبلی، تگ دو رشته داده شد، بنابراین باید دو تگ نوشته شود . با این حال، این مثال اساساً بی فایده است، زیرا هیچ یک از فریم ها محتوایی ندارند!
برچسب بزنید دارای شش پارامتر SRC، NAME، MARGINWIDTH، MARGINHEIGHT، SCROLLING و NORESIZE.
توجه داشته باشید
برخی از مرورگرها به شما اجازه می دهند از تعدادی پارامتر تگ اضافی استفاده کنید . مروری بر قابلیت های مرورگرهای Netscape و Microsoft Internet Explorer در پایان فصل آورده شده است.
در عمل در تگ به ندرت از همه پارامترها به طور همزمان استفاده می شود.
اکثر پارامتر مهم- SRC (مخفف منبع). اغلب در برچسب یک پارامتر SRC مشخص شده است. مثلا:
.
مقدار پارامتر SRC نشانی اینترنتی سندی را که در ابتدا در این فریم بارگذاری میشود، تعیین میکند. به طور معمول، این آدرس نام یک فایل HTML است که در همان دایرکتوری سند اصلی قرار دارد. سپس خط تعریف فریم، برای مثال، به شکل زیر خواهد بود:
.
توجه داشته باشید که هر فایل HTML مشخص شده در تعریف فریم باید یک سند کامل HTML باشد، نه یک قطعه. یعنی سند باید دارای تگ های HTML، HEAD، BODY و غیره باشد.
البته، مقدار SRC می تواند هر URL معتبری باشد. اگر به عنوان مثال، از فریم برای نمایش یک تصویر GIF استفاده می شود که در سرور ناشر این کتاب قرار دارد، باید بنویسید:
.
مشاوره
هیچ محتوایی را در سند توصیف ساختار قاب وارد نکنید.
متن ساده، عنوان، گرافیک و سایر عناصر را نمی توان مستقیماً در سندی که ساختار قاب را توصیف می کند استفاده کرد. تمام محتویات فریم ها باید در فایل های HTML جداگانه ای تعریف شوند که نام آنها توسط پارامتر SRC تگ مشخص شده است. .
پارامتر NAME نام فریمی را مشخص می کند که می تواند برای ارجاع به این فریم استفاده شود. به طور معمول پیوند از فریم دیگری که در همان صفحه قرار دارد تنظیم می شود. مثلا:
.
این ورودی یک فریم به نام "Frame_1" ایجاد می کند که می توان به آن ارجاع داد. مثلا:
برای دانلود اینجا کلیک کنید
other.htm را در فریمی به نام Frame_1 مستند کنید.
به پارامتر TARGET توجه کنید که به نام فریم اشاره دارد. اگر به یک فریم نامی داده نشود، یک فریم بدون نام ایجاد می شود و امکان ارجاع آن از فریم دیگری وجود نخواهد داشت. نام قاب ها باید با یک کاراکتر الفبایی شروع شود.
پارامترهای MARGINWIDTH و MARGINHEIGHT به شما این امکان را می دهند که عرض حاشیه فریم را تنظیم کنید. این به صورت زیر نوشته شده است:
MARGINWIDTH = مقدار،
که در آن "ارزش" مقدار مطلق در پیکسل است. مثلا:
این قاب دارای حاشیه هایی در بالا و پایین 5 پیکسل و در سمت چپ و راست - 7 پیکسل است. به یاد داشته باشید که ما در اینجا در مورد حاشیه صحبت می کنیم، نه فریم. پارامترهای MARGINWIDTH و MARGINHEIGHT فضایی را در کادر مشخص میکنند که هیچ اطلاعاتی در آن قرار نخواهد گرفت. حداقل مقدار قابل قبول برای این پارامترها یک است.
اگر محتویات قاب به طور کامل در فضای اختصاص داده شده قرار نگیرد، فریم ها به طور خودکار نوارهای پیمایشی را ایجاد و نمایش می دهند. گاهی اوقات این کار طراحی صفحه را خراب می کند، بنابراین کنترل نمایش نوارهای اسکرول مفید است. برای این منظور از پارامتر SCROLLING استفاده می شود. فرمت ضبط:
.
پارامتر SCROLLING می تواند سه مقدار داشته باشد: YES، NO یا AUTO. مقدار AUTO همان اثری را دارد که اگر پارامتر SCROLLING وجود نداشته باشد. مقدار YES باعث می شود نوارهای اسکرول بدون توجه به اینکه آیا آنها مورد نیاز هستند ظاهر شوند و NO از نمایش آنها جلوگیری می کند. مثلا:
.
به طور معمول کاربر می تواند اندازه فریم ها را هنگام مشاهده صفحه تغییر دهد. اگر نشانگر ماوس را روی قاب فریم قرار دهید، مکان نما شکلی به خود می گیرد که امکان تغییر اندازه را نشان می دهد و به شما امکان می دهد فریم را به مکان مورد نظر منتقل کنید. این گاهی اوقات ساختار فریم های زیبا طراحی شده را می شکند. برای جلوگیری از تغییر اندازه فریم توسط کاربر، از پارامتر NORESIZE استفاده کنید:
.
این پارامتر به هیچ مقداری نیاز ندارد. طبیعتاً وقتی پارامتر NORESIZE برای یکی از فریم ها تنظیم می شود، اندازه هیچ یک از فریم های مجاور نیز قابل تغییر نیست. گاهی اوقات، بسته به چیدمان فریم ها، استفاده از پارامتر NORESIZE در یکی از فریم ها برای جلوگیری از تغییر اندازه هر یک از آنها در صفحه کافی است.
برچسب بزنید
توانایی کار با فریم ها در استاندارد HTML 3.0 یا HTML 3.2 در نظر گرفته نشده بود. در اینجا، تا همین اواخر، وضعیت نسبتاً معمولی وجود داشت که ویژگیهای واقعی استفاده شده به طور فعال در بسیاری از صفحات WWW استفاده میشدند، اما بخشی از استاندارد نیستند. این بدان معنی است که مرورگرها می توانند به طور قانونی فریم ها را نادیده بگیرند. با ظهور استاندارد HTML 4.0، وضعیت تغییر کرده است - اکنون پشتیبانی از ساختارهای قاب در استاندارد گنجانده شده است. توجه داشته باشید که اکثر مرورگرهای مدرن حتی قبل از ظهور HTML 4.O فریم ها را تشخیص می دادند. با این حال، ارائه اطلاعات به کاربران با استفاده از مرورگرهایی که از فریم پشتیبانی نمی کنند ضروری است. برای چنین مرورگرهایی، امکان ارائه اطلاعات جایگزینی وجود دارد که بین یک جفت تگ نوشته شده است و. به نظر می رسد این است:
کل سند HTML
همه چیز بین برچسب ها قرار می گیرد و، توسط مرورگرهایی که قابلیت پشتیبانی از فریم را ندارند نمایش داده می شود. مرورگرهای فریمآگاه تمام اطلاعات بین این برچسبها را نادیده میگیرند.
توجه داشته باشید که در زندگی واقعی، توسعه دهندگان صفحه HTML اغلب از قابلیت های برچسب استفاده نمی کنند برای ایجاد صفحات بدون ساختار قاب، اما به سادگی دو نسخه از اسناد HTML خود را ایجاد کنید. برای این گزینه صفحه نخستمعمولاً به شما پیشنهاد می شود که یک سند را با یا بدون ساختار قاب انتخاب کنید. سپس، بسته به انتخاب کاربر، تنها یک نسخه از سند بارگیری می شود.
ویژگی های توصیف سازه های قاب
یکی از مهم ترین تگ هایی که برای توصیف ساختارهای قاب استفاده می شود، تگ است . یک تگ دارای تعدادی پارامتر است که هیچ کدام مورد نیاز یا وابسته به بقیه نیستند، اما تعدادی از موارد وجود دارد که هنگام نوشتن آنها باید در نظر گرفت.
به نظر می رسد که اگر شما نیاز به ایجاد یک قاب دارید که بعداً یک سند در آن بارگذاری شود، به عنوان مثال، با دستور از فریم دیگری، باید از برچسب استفاده کنید. پارامتر SRC را بنویسید. اگر این
پارامتر حذف شده است، فریم ایجاد نخواهد شد، اگرچه فضایی برای آن باقی خواهد ماند. به عنوان مثال، یک رکورد مانند کاملاً منطقی است و می تواند فریمی به نام "B" تعریف کند که در ابتدا هیچ سندی در آن بارگذاری نمی شود. با این حال، به دلیل عدم وجود پارامتر SRC، فریمی با آن نام وجود نخواهد داشت، بنابراین تلاشهای بعدی برای بارگیری هر سندی در آن ناموفق باقی میماند و فضای پنجره اختصاص داده شده برای این فریم خالی خواهد بود. علاوه بر این، برخی از مرورگرها (به عنوان مثال، مایکروسافت اینترنت اکسپلورر نسخه 3 برای ویندوز Z.xx) یک پیغام خطا را نمایش می دهند و هنگام تلاش برای بارگذاری یک سند در چنین فریمی از آن خارج می شوند.
نیاز برای تنظیم پارامتر SRC را نمی توان به صورت منطقی توضیح داد، بنابراین بهتر است به سادگی به این واقعیت توجه کنید. سپس، حتی اگر سندی وجود نداشته باشد که از همان ابتدا باید در این فریم بارگذاری شود، باید نام یک فایل را در پارامتر SRC مشخص کنید. به عنوان مثال، چنین فایلی را می توان vala.htm (خالی) نامید، که محتوای آن حداقل سند HTML صحیح ممکن خواهد بود، یعنی:
می توانید این سند را به دو برچسب کاهش دهید: ، که یک سند HTML معتبر نیز خواهد بود. با دنبال کردن مسیر حداکثر کاهش اندازه یک سند "خالی"، می توانید خود را به فایلی محدود کنید که اندازه آن برابر با یک بایت است که کاراکتر فاصله (یا هر کاراکتر غیرقابل نمایش دیگری) را ذخیره می کند. این فایل یک سند HTML معتبر نخواهد بود، اما برای اکثر مرورگرها مشکلی ایجاد نخواهد کرد. کاهش بیشتر اندازه چنین فایلی به صفر موجه نیست، زیرا هنگامی که توسط مرورگر نت اسکیپ بارگذاری می شود، یک پیام هشدار (شکل 5.4) نشان می دهد که سند حاوی داده نیست.
برنج. 5. 4
.
پیام هشدار هنگام آپلود یک فایل با طول صفر
در همان زمان، در این پیامباید با فشار دادن یک کلید واکنش نشان دهید یا دکمه ماوس هر زمان که سند بارگیری مجدد شود یا اندازه پنجره مرورگر تغییر کند، پیام دوباره ظاهر می شود.
شما همچنین می توانید نام یک فایل موجود را مشخص کنید، اما در این مورد مرورگر نت اسکیپ یک پیام هشدار نمایش می دهد (شکل 5.5) که مانع از کار بیشتر نمی شود، اما منجر به ناراحتی های مشابه می شود.
برنج. 5. 5
.
پیام هشدار هنگام تلاش برای دانلود فایلی که وجود ندارد
مشاوره
فایلی به نام vala.htm بسازید که اندازه آن یک بایت و حاوی کاراکتر فاصله باشد. هنگام نوشتن یک برچسب، آن را به یک قانون تبدیل کنید اگر تعیین فوری نام یک فایل خاص غیرممکن است، همیشه SRC=empty.htm را مشخص کنید.
نمونه هایی از قاب ها
این بخش چند نمونه معمولی از تعاریف فریم را ارائه می دهد.
اجازه دهید به مثال ارائه شده در ابتدای این بخش برگردیم (شکل 5.3). این مثال از ساختار تودرتو استفاده می کند
. برچسب خارجی سه ردیف ارتفاع، به ترتیب 25، 50 و 25 درصد از ارتفاع کل نمای پورت ایجاد می کند:
.
در این محدوده تعریف، اولین و آخرین خط فریم های ساده هستند:
هر یک از این خطوط تمام عرض صفحه را پر می کند. خط اول بالای صفحه 25 درصد ارتفاع و خط سوم پایین نیز 25 درصد ارتفاع را اشغال می کند. با این حال، بین آنها یک برچسب تودرتو وجود دارد
:
این تگ دو ستون را تعریف می کند که ردیف وسط صفحه به آنها تقسیم می شود. ردیفی که این دو ستون را در بر می گیرد، 50 درصد از ارتفاع صفحه را می گیرد، همانطور که در تگ بیرونی تعریف شده است.
. ستون سمت چپ از 25 درصد عرض صفحه استفاده می کند، در حالی که ستون سمت راست 75 درصد از عرض صفحه را اشغال می کند.
فریمهای این ستونها در یک جفت تگ تودرتو تعریف میشوند
و، در حالی که تعریف فریم برای خط اول و آخر خارج از این جفت، اما در داخل بیرونی نوشته شده است به ترتیب مناسب
اگر به عنوان یک بلوک تودرتو فکر کنید، ساختار رکورد به راحتی قابل درک است
به عنوان یک عنصر جداگانه . در مثال ما، تگ بیرونی سه خط را تعریف می کند. هر یک از آنها باید تکمیل شود. در این مورد، آنها ابتدا با یک عنصر جداگانه پر می شوند ، سپس - به عنوان یک بلوک تو در تو عرض دو ستون و سپس عنصر دیگر .
حال ممکن است این سوال پیش بیاید که آیا مقدار پارامتر تگ SRC می تواند باشد؟ نام فایل را تنظیم کنید، که به نوبه خود حاوی توضیحات ساختار قاب است. بله این قابل قبول است. در این مورد برچسب برای اشاره به یک سند HTML که یک ساختار فریم است و به عنوان یک قاب جداگانه استفاده می شود، استفاده می شود.
بیایید به مثال برگردیم و تودرتو را جایگزین کنیم
به یک جداگانه . طبیعتاً، از آنجایی که تو در تو قرار دارند، به جای یک فایل HTML به دو فایل HTML نیاز خواهید داشت اکنون در یک سند جداگانه قرار خواهد گرفت. در اینجا محتویات اولین فایل (خارجی) آمده است:
مرورگر شما نمی تواند فریم ها را نمایش دهد
فایل دوم با نام frameset.htm حاوی کد زیر است:
در این مورد، خطوط بالا و پایین یکسان رفتار می کنند. اما خط دوم در حال حاضر یک قاب ساده مانند بقیه است. با این حال، فایل frameset.htm که توسط پارامتر SRC به آن اشاره می شود، ساختار فریم خود را تعریف می کند. در نتیجه، صفحه نمایش دقیقاً مانند نمونه اصلی نمایش داده می شود.
توجه داشته باشید
در اصل امکان ایجاد ساختارهای تودرتو وجود دارد ، با استفاده از برچسب ها ، که به همان فایلی که ساختار فریم را توضیح می دهد اشاره دارد، اما این کار نباید انجام شود. این وضعیت به بازگشت بی پایان منجر می شود و اجازه کار بیشتر را نمی دهد. برخی از مرورگرها این وضعیت را کنترل می کنند و از احتمال خرابی جلوگیری می کنند. اگر آدرس نوشته شده در SRC با یکی از آدرس های قبلی در سلسله مراتب فریم مطابقت داشته باشد، نادیده گرفته می شود، گویی که پارامتر SRC اصلا وجود ندارد.
مشاوره
استفاده از ساختارهای تودرتو در ترکیب های مختلف، می توان تقریباً هر شبکه قاب قابل تصوری را ایجاد کرد. با این حال، به یاد داشته باشید که یک رابط کاربر پسند ایجاد کنید و فقط توانایی خود را در کار با فریم ها نشان ندهید.
در اینجا نمونه ای از ایجاد یک شبکه مستطیلی منظم از قاب ها آورده شده است:
این مثال یک شبکه فریم با دو سطر و سه ستون ایجاد می کند (شکل 5.6). از آنجایی که مجموعه ای از شش فریم تعریف شده است، لازم است که شش فریم جداگانه نیز تعریف شود . لطفا توجه داشته باشید که تعاریف فریم خط به خط داده شده است. یعنی اولین تگ محتویات ستون اول را در ردیف اول تعریف می کند، دوم محتوای ستون دوم را مشخص می کند، و سومی به تعریف داده های آخرین ستون از ردیف اول پایان می دهد. سپس سه فریم آخر ستون های ردیف دوم را پر می کند.
برنج. 5. 6
.
شبکه قاب 2 در 3
همچنین توجه داشته باشید که مجموع مقادیر درصد در پارامتر COLS 100 نیست، بلکه فقط 90 درصد است. هیچ اشکالی در این مورد وجود ندارد، زیرا مرورگر به طور خودکار پهنای ستون ها را تغییر می دهد تا این تناقض از بین برود.
ویژگی های ناوبری هنگام استفاده از فریم ها
کار با اسنادی که ساختار قاب دارند ویژگی هایی دارد که باید بدانید. این ویژگی های JB عمدتاً در ناوبری هنگام بارگیری اسناد آشکار می شود. تفاوت های قابل توجه در ناوبری نه تنها برای مرورگرهای مختلف، بلکه همچنین مشخصه است نسخه های مختلفهمان مرورگر
مرورگر نت اسکیپ نسخه های 3.x و 4.x، وقتی روی دکمه برگشت کلیک می کنید، سند را به فریمی برمی گرداند که آخرین بار روی آن عمل شده است. اگر هنگام فراخوانی منوی زمینه در هر یک از فریم ها، مورد Back انتخاب شود، همین اقدامات انجام می شود. به شما یادآوری می کنیم که منوی زمینه با کلیک روی دکمه سمت راست ماوس فراخوانی می شود. بنابراین، صرف نظر از اینکه منوی زمینه در کدام فریم فراخوانی شده است، فشار دادن دکمه Back آخرین عملیات را لغو می کند، حتی اگر در فریم دیگری انجام شده باشد.
مرورگر Netscape 2.x کاملاً متفاوت عمل کرد. منوی زمینه حاوی دستور Back in Frame است که به جای لغو آخرین عملیات، سند را به قاب فعلی برمیگرداند.
در هر نسخه نت اسکیپ، می توانید سندی را که در یک قاب انتخابی قرار دارد نشانک کنید. برای انجام این کار، باید حالت Add Bookmark را از منوی زمینه ذکر شده در بالا انتخاب کنید. اگر به سادگی حالت Add Bookmark را از منوی اصلی مرورگر انتخاب کنید، یک نشانک با توضیح ساختار قاب روی سند ایجاد می شود.
، که به طور دقیق به یک قاب خاص اشاره نخواهد کرد. امکان ایجاد نشانک روی یک سند از یک قاب جداگانه به این معنی نیست که وقتی به استفاده از این نشانک ادامه میدهید، همان ساختار قاب ایجاد میشود. سندی که نشانک به آن اشاره می کند در یک پنجره کامل خارج از ساختار قاب بارگذاری می شود.
تعامل بین فریم ها
ساده ترین شکل مشاهده اطلاعات در WWW شامل خواندن صفحات و دنبال کردن پیوندها است که در آن سند فعلی در پنجره مرورگر با سند دیگری جایگزین می شود. هنگام کار با فریمها، میتوانید یک طرح بارگیری اسناد کاربرپسندتر سازماندهی کنید.
تعامل بین فریم ها توانایی بارگذاری اسناد در فریم انتخابی با استفاده از دستورات فریم دیگر است. برای این منظور از پارامتر تگ TARGET استفاده می شود<А>. این پارامترنام قاب یا پنجره مرورگری را مشخص می کند که سندی که این پیوند به آن اشاره می کند در آن بارگذاری می شود. به طور پیش فرض، اگر پارامتر TARGET وجود نداشته باشد، سند در کادر (یا پنجره) فعلی بارگذاری می شود. این پیش فرض را می توان با تعیین یک برچسب لغو کرد با مقدار مورد نظر پارامتر TARGET. تعیین نام فریم پیشفرض برای بارگیری زمانی بسیار مفید است که تعداد زیادی پیوند نیاز به هدایت اسناد به یک فریم خاص دارند. یک وضعیت معمولی با فهرست مطالب در یک قاب، پیوندهایی که از آنها اسناد مربوطه را در یک قاب مجاور بارگذاری میکنند، در ابتدای این فصل نشان داده شده است (شکل 5.1). برای این مثال در بخش
فایلی با نام LIST.htm توصیه می شود خط زیر را بنویسید: . در غیر این صورت، باید برای هر پیوند یک پارامتر TARGET مشخص کنید.
نام قاب ها باید با یک حرف یا عدد لاتین شروع شود. نام می تواند نام یک پنجره یا قاب موجود باشد یا نام جدیدی تعیین شود که تحت آن یک پنجره جدید باز می شود. چهار نام رزرو شده وجود دارد که در صورت مشخص شدن، اقدامات خاصی را انجام می دهند. این نام ها با خط زیر (_) شروع می شوند: "_blank"، "_self"، "_parent" و "_top". هر نام دیگری که با خط زیر شروع شود معتبر نیست.
TARGET="_blank" - اطمینان حاصل می کند که سند در یک پنجره جدید بارگذاری شده است. این پنجره نامی نخواهد داشت و بنابراین امکان بارگذاری سند دیگری در آن وجود نخواهد داشت.
TARGET="_self" - سند در قاب (یا پنجره) فعلی بارگذاری می شود. این ورودی باید برای دور زدن پیش فرض مشخص شده توسط تگ استفاده شود .
TARGET="_top" - باعث بارگذاری سند در پنجره کامل می شود. اگر سند از قبل در یک پنجره کامل است، این مقدار همان اثر را دارد"_خود".
TARGET="_parent" - باعث می شود که سند در ناحیه اشغال شده توسط قاب اصلی فریم فعلی بارگذاری شود. اگر فریم والد وجود نداشته باشد، این مقدار پارامتر همان اثر را دارد"_بالا" .
توجه داشته باشید
برخی از منابع HTML به اشتباه بیان می کنند که اگر یک فریم والد نداشته باشد، مقدار "_parent" معادل "_self" است. این جمله همیشه درست نیست.
هشدار
نام فریم های رزرو شده "_blank"، "_self"، "_parent" و "_top" باید با حروف لاتین کوچک نوشته شوند. توجه داشته باشید که چنین دقتی مختص نت اسکیپ است. مایکروسافت اینترنت اکسپلورر به درستی نام های رزرو شده نوشته شده را در هر صورت تشخیص می دهد.
در اینجا نمونههایی از تعامل بین فریمها و پنجرههای جداگانه مرورگر آورده شده است. کد HTML زیر را در نظر بگیرید:
استفاده از فریم ها
این سند HTML ساختاری متشکل از سه قاب به نامهای «A»، «B» و «C» را توصیف میکند. نام قابها بعداً برای سازماندهی پیوندهای بین فریمها مورد نیاز خواهد بود. توجه داشته باشید که قاب با نام "A" در در این مثالهیچ مرجعی وجود نخواهد داشت، بنابراین ممکن است اصلاً بدون نام باقی بماند. هنگامی که سند فوق را در مرورگر بارگذاری می کنید، فریم ها اطلاعات موجود در فایل های شناسایی شده توسط پارامتر SRC را نمایش می دهند. فریم "A" محتویات فایل frame_a.htm را دریافت می کند و دو فریم باقیمانده داده ها را از فایل vala.htm دریافت می کند که هیچ داده ای برای نمایش ندارد. اجازه دهید یک بار دیگر به شما یادآوری کنیم که سند HTML که ساختار فریم ها را توصیف می کند، بخش ندارد
و و به نوبه خود پیوندهایی به فایلی به نام test.htm دارد که در همان دایرکتوری فایل frame_a.htm قرار دارد.
متن فایل test.htm بسیار ساده است:
سند آزمایشی
متن سند را آزمایش کنید
فایل frame_a.htm که محتویات آن در فریم "A" بارگذاری شده است، دارای شش پیوند به همان فایل test.htm با مقادیر مختلف برای پارامتر TARGET است.
بیایید اقداماتی را که هنگام پیاده سازی این پیوندها انجام می شود در نظر بگیریم. اولین پیوند با مقدار TARGET="B" فایل test.htm را در فریمی به نام "in" بارگذاری می کند. توجه داشته باشید که پس از پیاده سازی هر یک از شش پیوند، مرورگر نت اسکیپ به طور خودکار هر شش پیوند را با رنگ متفاوتی رنگ می کند، زیرا به یک فایل اشاره می کنند. مایکروسافت اینترنت اکسپلورر فقط پیوندهایی را علامت گذاری می کند که واقعاً پیاده سازی شده اند.
پیوند دوم همین کار را برای فریم "C" انجام می دهد. در ابتدا، هیچ چیزی در فریم های "B" و "C" وجود ندارد (به طور دقیق تر، محتویات فایل خالی vala.htm بارگذاری می شود). اجرای لینک اول و دوم این فریم ها را پر می کند.
لینک سوم با مقدار TARGET=MD" منجر به تشکیل یک پنجره مرورگر جدید با نام "D" و بارگذاری فایل test.htm در آن می شود. توجه داشته باشید که شکل نوشتن این لینک با اولی تفاوتی ندارد. دو با این تفاوت که در اولی در دو مورد ارجاعاتی به فریم های موجود داده شد که نام آنها در فایل با ساختار فریم تعریف شده بود و در این مورد ارجاع به یک شی غیر موجود داده شد. این ارجاع حداقل یک بار انجام می شود، سپس پنجره ای با نام "D" ایجاد می شود و با کلیک مکرر روی پیوند فقط داده ها را در پنجره فعلی "D" بارگذاری مجدد می کند. البته کاربر می تواند در هر زمانی آن را ببندد. زمان و با انتخاب این پیوند دوباره ایجاد کنید.شکل 5.7 وضعیت پس از پیاده سازی سه پیوند اول را نشان می دهد.به یاد داشته باشید که مکان و اندازه پنجره ها روی صفحه توسط کاربر تعیین می شود.
برنج. 5. 7
.
وضعیت پس از اجرای متوالی سه پیوند اول موجود در قاب سمت چپ به دست آمد
پیوند پنجم با مقدار TARGET="_top" سند را به جای کل ساختار فریم در پنجره کامل بارگذاری می کند. با این مقدار از پارامتر TARGET، پنجره جدیدی ایجاد نمی شود. بازگشت به ساختار قاب با کلیک بر روی دکمه Back امکان پذیر است.
توجه داشته باشید
نام فریم ها یا پنجره های مرورگر نباید با نام اسناد دانلود شده اشتباه گرفته شود. نام فریم ها هنگام مشاهده در هیچ کجا قابل مشاهده نیستند؛ آنها فقط برای سازماندهی تعامل مورد نیاز هستند و بنابراین از کاربر پنهان می شوند. فقط هنگام مشاهده متن منبع فایل های HTML می توانید آنها را ببینید.
مشاوره
یادآوری می کنیم که نام اسناد دانلود شده توسط تگ مشخص شده است . اگر سندی در یک پنجره کامل بارگذاری شود، نام آن در بالای پنجره مرورگر نمایش داده می شود. اگر سندی در یک قاب بارگذاری شود، نام آن در هیچ کجا نمایش داده نمیشود و عنوان سند حاوی توضیحات ساختار قاب سند همچنان در قسمت بالای پنجره قرار دارد. بنابراین اسامی اسنادی که برای مشاهده در فریم در نظر گرفته شده اند اهمیت چندانی ندارند. به عنوان مثال، در شکل. 5.7 همان سند در فریم های "B" و "C" و همچنین در یک پنجره جداگانه به نام "D" بارگذاری می شود، در حالی که نام سند فقط در پنجره "D" قابل مشاهده است. با این حال، به سختی توصیه می شود که نام اسناد بارگذاری شده در فریم ها را حذف کنید، زیرا ممکن است برای مثال در لیست نشانک ها هنگام ایجاد نشانک برای یک سند واقع در یک قاب یا لیست اسناد مشاهده شده ظاهر شوند.
بیایید نمونه جالب دیگری از سازماندهی تعامل بین فریم ها و پنجره های مرورگر را بررسی کنیم. اجازه دهید متن سند HTML بارگذاری شده اصلی وجود داشته باشد:
استفاده از نام پنجره ها
یک سند با ساختار قاب در یک پنجره جدیدА>
استفاده از فریم ها
لطفاً توجه داشته باشید که اگر سند اصلی یک سند استاندارد HTML است، فایل frame.htm بارگیری شده از پیوندی از سند اصلی حاوی ساختار فریم است و به نوبه خود به فایل vala.htm پیوند میدهد.
پس از بارگذاری سند اصلی، پنجره مرورگر مانند شکل زیر خواهد بود. 5.8 (پنجره سمت چپ). کل سند از دو پیوند تشکیل شده است. بیایید لینک اول را دنبال کنیم. یک پنجره جدید با نام "D" ایجاد می شود که در آن متن فایل test.htm ظاهر می شود (شکل 5.8، پنجره سمت راست). با تکرار این پیوند فقط داده ها در پنجره "D" بارگذاری مجدد می شوند.
برنج. 5.8.نمونه ای از پنجره های قاب تعاملی
بیایید لینک دوم را دنبال کنیم. یک پنجره جدید بدون نام تشکیل می شود که فایل frame.htm در آن بارگذاری می شود و دو فریم با نام های "C" و "D" تعریف می کند (شکل 5.8، پنجره پایین). هیچ چیزی در هر دو فریم وجود ندارد (به طور دقیق تر، یک سند خالی vala.htm بارگذاری می شود). توجه کنید که اکنون یک پنجره باز به نام "D" و یک پنجره با قاب وجود دارد که یکی از آنها نیز "D" نام دارد. بیایید دوباره لینک اول را دنبال کنیم. برخلاف حالت اول، داده ها نه در پنجره "D"، بلکه در یک قاب به نام "D" بارگذاری می شوند. نتیجه تمام اقدامات توصیف شده در شکل نشان داده شده است. 5.8.
توجه داشته باشید
ظاهر پنجره های باز و محتویات آنها گاهی اوقات حتی می تواند به ترتیب اقدامات کاربر بستگی داشته باشد. کار با اسنادی که پیش بینی رفتار آنها دشوار است، معمولاً باعث تحریک قابل توجیه برای کاربر می شود و نشان دهنده عدم دقت در ساختار داده توسط توسعه دهندگان است.
اگر ترتیب اعمال را تغییر دهید، یعنی ابتدا لینک دوم را اجرا کنید و سپس اولین را اجرا کنید، پنجره ای به نام "D" به هیچ وجه ظاهر نمی شود! این اتفاق می افتد زیرا پس از پیاده سازی لینک دوم، یک فریم به نام "D" ایجاد می شود و نیازی به باز کردن پنجره جدید برای لینک اول نخواهد بود.
این مثال به هیچ وجه یک الگو نیست، بلکه فقط پیچیدگی احتمالی سازماندهی تعامل را نشان می دهد. برعکس، شما باید سعی کنید سازماندهی داده ها را بی جهت پیچیده نکنید، خیلی کمتر شرایطی را ایجاد کنید که در آن نتیجه بسته به ترتیب اقدامات کاربر تغییر کند.
مشاوره
از برخورد در نام قاب و پنجره جلوگیری کنید. اگرچه داشتن قاب هایی با نام های مشابه به طور رسمی ممنوع نیست، اما می تواند منجر به سردرگمی شود.
هشدار
نام قاب ها و پنجره ها به روشی حساس به حروف بزرگ مقایسه می شوند. بنابراین، برای مثال، فریم هایی با نام های "frame_1" و "Frame_1" متفاوت خواهند بود.
نمونه هایی از تعاملات پیچیده تر بین فریم ها
نمونه های معمولی بسیار ساده از تعامل بین فریم ها در بالا مورد بحث قرار گرفت. وظایف ایجاد پنجره های جدید، جایگزینی محتویات فریم های جداگانه و همچنین نمایش یک سند در یک پنجره کامل با تخریب کل ساختار قاب در نظر گرفته شد. مثالهایی از استفاده از نامهای فریم سفارشی، و همچنین نامهای رزرو شده "_blank"، "_self" و "_top" آورده شده است. استفاده از آخرین نام رزرو شده "_parent" پیچیده تر است و در زیر توضیح داده خواهد شد.
این بخش به گزینه های پیچیده تر برای تعامل بین فریم ها می پردازد. به ویژه جایگزینی محتویات چندین فریم مجاور اجرا خواهد شد.
یکی از رایج ترین موارد استفاده از فریم ها که قبلاً در این فصل به آن اشاره شد، مورد دو قاب است که یکی از آنها فهرستی از پیوندها و دیگری حاوی خود اسناد است (شکل 5.1).
بیایید سعی کنیم فرمول مسئله را گسترش دهیم. فرض کنید می خواهید محتویات یک سند نسبتاً بزرگ متشکل از فصول تقسیم شده به بخش ها را روی صفحه نمایش دهید. یک مثال معمولی ادبیات فنی در مورد یک موضوع خاص است. اجازه دهید ارائه مورد نظر چنین سندی را روی صفحه توضیح دهیم. بیایید صفحه را به سه فریم تقسیم کنیم، یکی از آنها فهرستی از فصل های کتاب، دومی - فهرستی از بخش های فصل انتخاب شده، و سومی - متن بخش انتخابی را شامل می شود. وقتی لینکی را در فریم دوم انتخاب می کنید، محتویات فریم سوم باید تغییر کند. اجرای این الزام پیش پا افتاده است. وقتی پیوندی را در فریم اول انتخاب می کنید، محتویات فریم دوم و سوم باید به طور همزمان تغییر کنند. در نگاه اول، اجرای این کار در HTML غیرممکن است (بدون استفاده از برنامه نویسی در جاوا اسکریپت یا موارد دیگر)، زیرا زمانی که یک لینک اجرا می شود، تنها یک سند بارگذاری می شود، نه دو یا چند سند. با این وجود، حل این مشکل کاملاً ممکن است.
اجازه دهید با استفاده از یک مثال ساده راه حل ممکن برای چنین مشکلی را نشان دهیم. فرض کنید می خواهید سه فریم را روی صفحه نمایش دهید و چند سند را در آنها بارگذاری کنید. بیایید وظیفه ایجاد لینک در هر یک از این فریم ها را تعیین کنیم که اجرای آن مثلاً محتویات دو فریم را تعویض کرد. بگذارید قاب اول 50 درصد عرض و 100 درصد ارتفاع پنجره را اشغال کند و آن را در سمت چپ پنجره قرار دهید. نیمه سمت راست پنجره نیز به صورت افقی به دو نیم تقسیم شده و شامل دو قاب دیگر است. این ساختار با کد زیر توضیح داده شده است:
با استفاده از این کد HTML، ساختار مورد نیاز ایجاد خواهد شد، اما حل مشکل غیر ممکن است. لازم است ساختار تودرتو حذف شود
در یک فایل جداگانه، و در این کد HTML یک فریم که به فایل ایجاد شده اشاره دارد را توصیف کنید. سپس متن سند منبع به صورت زیر خواهد بود:
نمونه ای از تعامل بین فریم ها
فایل با ساختار تودرتو ایجاد شد
دارای نام 1_2.htm و حاوی کد زیر است:
1-2
در نگاه اول هیچ چیز تغییر نکرده است. در هر دو حالت سه فریم وجود دارد که اسناد left.htm، 1.htm و 2.htm به ترتیب بارگذاری می شوند. با این حال، هنگامی که فریم ها با هم تعامل دارند، تفاوت ظاهر می شود. اگر در حالت اول هیچ یک از فریم ها فریم والد نداشته باشد، در حالت دوم برای دو فریم والد فریمی به نام "Two_Frames" خواهد بود. بنابراین، اگر در هر یک از دو فریم پیوندی با مقدار پارامتر TARGET برابر با "_parent" اعمال کنید، نتیجه برای حالت اول و دوم متفاوت خواهد بود. در مورد اول، اجرای چنین پیوندی سند را در یک پنجره کامل بارگذاری می کند و ساختار قاب موجود را جایگزین می کند. اینجاست که خاصیت مقدار "_parent" وارد عمل می شود که در غیاب فریم والد مانند "_top" عمل می کند. در حالت دوم، فریمی با نام "Two_Frames" جایگزین می شود که نیمه سمت راست صفحه را اشغال می کند و در اصل از دو فریم تشکیل شده است.
مورد دوم به طور رسمی با مورد اول با وجود یک قاب به نام "Two_Frames" که می توان به آن ارجاع داد، متفاوت است. دقیقاً این ویژگی است که به ما امکان می دهد مشکل را حل کنیم.
در اینجا محتویات فایل left.htm است که در ابتدا در اولین فریم مورد بررسی بارگذاری می شود:
توجه داشته باشید که متن فایل های 1_2.htm و 2_1.htm فقط در ترتیب پیوند به فایل های 1.htm و 2.htm متفاوت است.
اجازه دهید اکنون ساختار یک سند بارگذاری شده در قاب سمت چپ را در نظر بگیریم. این شامل دو پیوند با پارامتر TARGET="Two_Frames" است. اجرای هر یک از این پیوندها دو فریم را در محل قاب "Two_Frames" ایجاد می کند (این نیمه سمت راست صفحه است)، اسناد 1.htm و 2.htm را به ترتیب بارگیری می کند. بنابراین، هنگام انتخاب گزینه 1-2، سند 1.htm در قاب سمت راست بالا و 2.htm در قاب سمت راست پایین بارگذاری می شود. با انتخاب گزینه 2-1 ترتیب اسناد تغییر می کند. در نتیجه، انتخاب متناوب گزینه ها این تصور را ایجاد می کند که اسناد در دو فریم در حال تغییر مکان هستند. این دقیقاً همان تأثیری است که ما به دنبال دستیابی به آن بودیم (شکل 5.9).
محتویات اسناد 1.htm و 2.htm برای مثال توصیف شده اهمیتی ندارد. با این حال، به عنوان مثال، به جای اسناد بی اهمیت، اسنادی را با پیوندهایی ایجاد می کنیم که همان اقدامات را انجام می دهند.
متن فایل 1.htm:
سند 1
سند 1
گزینه 1 -2
گزینه 2-1
فایل 2.htm با 1.htm فقط در هدر تفاوت دارد.
دو پیوند با مقدار TARGET="_parent" وجود دارد که به فریم والد اشاره می کند. این پیوندها همچنین می توانند با نام صریح قاب والد، یعنی TARGET="Two_Frames" نوشته شوند، اما استفاده از یک نام ضمنی معمولا راحت تر است. به عنوان مثال، اگر پیوندها را از قاب سمت چپ حذف کنید (سند left.htm)، می توانید نام قاب "Two_Frames" را که هنگام توصیف ساختار قاب اصلی مشخص شده است حذف کنید. این یک فریم بدون نام ایجاد می کند، اما پیوندهای اسناد 1.htm و 2.htm با TARGET="_parent" همچنان به درستی کار می کنند.
مشاوره
در صورت امکان، از نامگذاری ضمنی قاب استفاده کنید. به عنوان مثال، "والد"، "بالا"، "خود" به جای تعیین نام های خاص.
برنج. 5.9.تعامل پنجره های قاب با تأثیر تغییر اسناد بارگذاری شده
تفاوت بین فریم ها و پنجره های مرورگر
هنگام کار با فریم ها، این سوال در مورد تفاوت اساسی بین سازماندهی ساختار قاب یک پنجره مرورگر و ایجاد چندین پنجره مطرح می شود. در نگاه اول، ممکن است به نظر برسد که می توانید با توانایی ایجاد چندین پنجره کنار بیایید، زیرا کار با پنجره ها و قاب ها بسیار شبیه است. هر فریم برای بارگیری نیاز به یک سند جداگانه دارد، توانایی پیمایش محتوا به طور مستقل را دارد و می تواند با دستورات فریم های دیگر تغییر یابد. این ویژگیهای فریمها مشابه ویژگیهای پنجرههای مرورگر است. با سازماندهی جدولی داده ها، دستیابی به چنین آزادی عمل غیرممکن است.
با این حال، تفاوت قابل توجهی بین قاب و پنجره وجود دارد. با سازماندهی فریم، تقسیم ناحیه مشاهده به فریم توسط خود سند HTML انجام می شود که ابعاد و مکان آنها را نشان می دهد. هنگام مشاهده، کاربر می تواند اندازه فریم ها را تغییر دهد، مگر اینکه در توضیح ساختار آنها ممنوع باشد. چیدمان پنجره ها با قوانین کلی کار با سیستم ویندوز تعیین می شود - کاربر می تواند هر پنجره ای را به حالت تمام صفحه گسترش دهد، آن را به یک نماد کوچک کند یا خودسرانه اندازه و مکان آن را تنظیم کند. ویندوز برخلاف فریم ها می تواند همپوشانی داشته باشد. این انبوه انتخاب جنبه منفی خود را دارد - باید هر بار پنجره ها را به صورت دستی روی صفحه قرار دهید و اندازه آنها را تغییر دهید تا به گزینه مشاهده مطلوب برسید. در مورد فریم ها معمولاً نسبت اندازه بهینه توسط توسعه دهنده در توضیحات ساختار قاب مشخص می شود و اغلب نیازی به تغییر ندارد.
مشاوره
اگرچه فریم ها نمی توانند تمام امکانات را برای کار با پنجره های فردی فراهم کنند، اما سازماندهی منطقی آنها حداکثر راحتی را برای کاربر ایجاد می کند.
کار با ویندوز معایب دیگری نیز دارد. ایجاد هر پنجره به حافظه زیادی نیاز دارد. در نت اسکیپ، هر پنجره اساساً کپی دیگری از مرورگر است که با مجموعه کاملی از دکمه ها و منوها کامل می شود. همین وضعیت برای Microsoft Internet Explorer نیز معمول است.
توجه داشته باشید که سازماندهی پنجره های فردی در مرورگرها به صورت متفاوتی انجام می شود. ایجاد یک پنجره جدید با یک سند منجر به ظاهر شدن یک کار جداگانه در سیستم ویندوز می شود، همانطور که در هنگام مشاهده لیست وظایف در حال اجرا می بینید. بنابراین، جابجایی بین پنجرهها میتواند مانند جابجایی بین وظایف مختلف، برای مثال با فشار دادن میانبر صفحه کلید انجام شود. +.
بسیاری از برنامه های محبوب ویندوز دارای مفهوم پنجره سند هستند. به عنوان مثال می توان به پردازشگر کلمه Microsoft Word یا برنامه گرافیکی Paint Shop Pro و بسیاری دیگر اشاره کرد. هر یک از این برنامه ها امکان استفاده همزمان از چندین پنجره با داده را می دهد و به عنوان یک قاعده، یک منوی Window وجود دارد که لیستی از پنجره ها را ارائه می دهد و امکان جابجایی بین آنها را می دهد. ایجاد یک پنجره جدید در چنین برنامه هایی معمولاً هنگام باز کردن یک فایل موجود یا ایجاد یک پرونده جدید اتفاق می افتد. با این حال، در این برنامه ها، زمانی که یک پنجره جدید ایجاد می شود، یک کار در حال اجرا جدید ایجاد نمی شود.
Netscape همچنین دارای یک منوی Window است که پنجره های موجود را لیست می کند. (در نسخه های Netscape 4.x، این ویژگی توسط آیتم Window در منوی Communicator ارائه می شود.) اجازه دهید به شکل. 5.8. در این مثال، سه پنجره به طور همزمان باز هستند که هر کدام در اصل یک مرورگر جداگانه هستند. با این حال، برای کاربر، همه آنها پنجره های یک مرورگر هستند که می توانند با یکدیگر تعامل داشته باشند. در هر کدام از این پنجره ها می توانید منوی Window را باز کرده و لیستی از سه پنجره را مشاهده کنید. در شکل شکل 5.10 وضعیت زمانی که این کار برای پنجره پایین انجام می شود را نشان می دهد.
برنج. 5.10.باز کردن Frame Windows در مرورگر Netscape
هر پنجره می تواند به طور جداگانه بسته شود (با استفاده از دستور Close از منوی File). برای پایان کار با مرورگر در هر پنجره ای، می توانید منوی File را باز کرده و Exit را انتخاب کنید (شکل 5.11).
اگر چندین پنجره باز بود، همه آنها بسته می شوند، اما قبل از این یک پیام هشدار ظاهر می شود (شکل 5.12).
هر پنجره مرورگر می تواند تنظیمات خاص خود را داشته باشد (البته نه همه). به انجیر نگاه کنید 5.11. دو پنجره باز است که یکی از آنها به سه قاب تقسیم شده است. همان سند در دو قاب از سه فریم و همچنین در یک پنجره جداگانه بارگذاری می شود. توانایی پیکربندی مستقل پارامترهای هر پنجره به شما امکان می دهد همان سند را به طور متفاوت نمایش دهید. در مثال بالا، اندازه فونت سند در یک پنجره بزرگتر از پنجره دیگر است. این اثر با تنظیم رمزگذاریهای مختلف برای هر پنجره (مورد رمزگذاری سند از منوی گزینهها یا مورد مجموعه کاراکتر از منوی View برای نسخه 4.x)، با هر دو کدگذاری با استفاده از فونت یکسان، اما در اندازههای متفاوت، به دست میآید. تغییر هر آیتم در منوی تنظیمات عمومی بر همه پنجره ها تأثیر می گذارد.
برنج. 5.11.خروج از مرورگر نت اسکیپ
برنج. 5.12.هشدار در مورد بسته شدن پنجره ها در مرورگر Netscape
ویژگی های اضافی مرورگر
همه تگهای شرح فریم بالا با پارامترهای مربوطه تقریباً به طور یکسان در مرورگرهای Netscape و Microsoft Internet Explorer پیادهسازی میشوند، با این حال، هر یک از این مرورگرها به شما امکان میدهند علاوه بر این از برچسبها یا پارامترهای منحصر به فرد خود استفاده کنید.
ویژگی های مرورگر Netscape
مرورگر نت اسکیپ که با نسخه 3.0 شروع می شود، سه گزینه اضافی را امکان پذیر می کند: BORDER، FRAMEBORDER، و BORDERCOLOR. پارامتر BORDER فقط برای تگ اعمال می شود
. مقدار پارامتر BORDER ضخامت مرزهای بین فریم ها را بر حسب پیکسل تعیین می کند.
پارامتر FRAMEBORDER را می توان هر دو در تگ استفاده کرد
، و در تگ و وجود قاب بین فریم ها را مشخص می کند. این پارامتر می تواند بله یا خیر باشد. اگر پارامتر در تگ نوشته شده باشد ، سپس اثر آن برای تمام فریم های این گروه اعمال می شود. برای یک فریم جداگانه، مقدار را می توان نادیده گرفت. مقدار پیش فرض مثبت است.
توجه داشته باشید که پارامترهای BORDER و FRAMEBORDER مستقل از یکدیگر عمل می کنند. به عنوان مثال، اگر FRAMEBORDER روی NO و BORDER روی مقداری غیر از صفر تنظیم شود، مرز بین فریم ها رسم نمی شود، اما فضای مشخص شده توسط مقدار پارامتر BORDER همچنان برای آن اختصاص می یابد.
پارامتر BORDERCOLOR را می توان مانند برچسب استفاده کرد
، و در تگ و رنگ حاشیه را مشخص می کند که می تواند با نام رنگ یا نمایش هگزادسیمال آن مشخص شود.
در اینجا یک مثال است:
خط اول این کد HTML سه فریم را مشخص می کند که بین آنها یک قاب ضخیم 10 پیکسل فاصله وجود دارد (شکل 5.13).
برنج. 5.13.کشیدن مرز بین فریم ها در مرورگر نت اسکیپ
بین پنجره های قاب "A" و "B" به دلیل مقدار NO پارامتر FRAMEBORDER هیچ فریمی رسم نمی شود، اما رنگ قرمز برای قاب تعریف شده است. برای آخرین فریم "c"، مقدار FRAMEBORDER روی Yes تنظیم می شود و مقدار تعیین شده در خط اول را لغو می کند. بنابراین بین فریم هایی با نام های B و C همچنان یک قاب قرمز رنگ با ضخامت 10 پیکسل رسم می شود.
توجه داشته باشید
اگر مرزهای بین فریمها ترسیم نشود، مرورگر نت اسکیپ اجازه نمیدهد تا اندازه فریمها با کشیدن ماوس، حتی بدون پارامتر NORESIZE، تغییر یابد. برای Microsoft Internet Explorer وضعیت متفاوت است.
توجه داشته باشید که فریم های بدون حاشیه خیلی کم استفاده نمی شوند. لازم به یادآوری است که عدم وجود قاب مانع از ظهور نوارهای اسکرول نمی شود (شکل 5.14).
برنج. 5.14.نوارهای پیمایش در قاب بدون حاشیه
ویژگی های مرورگر مایکروسافت اینترنت اکسپلورر
مرورگر اینترنت اکسپلورر مایکروسافت به شما امکان می دهد از پارامتر FRAMEBORDER برای همان اهدافی که در بالا توضیح داده شد استفاده کنید، اما به شما اجازه نمی دهد رنگ و ضخامت فریم ها را تنظیم کنید. با این حال، فقط مقدار عددی "O" را می توان به عنوان مقدار پارامتر FRAMEBORDER برای لغو ترسیم یک قاب یا یک مقدار عددی غیر صفر برای ترسیم یک فریم استفاده کرد.
تفاوت در قوانین تنظیم مقادیر پارامتر FRAMEBORDER برای مرورگرهای مختلف بسیار ناخوشایند است. برای مثال سعی کنید FRAMEBORDER=بله را تنظیم کنید. این ورودی برای Netscape درست است، اما برای Microsoft Internet Explorer باعث عدم وجود فریم می شود. مثال قبلی (شکل 5.13) هنگامی که در مایکروسافت اینترنت اکسپلورر مشاهده می شود بدون قاب ارائه می شود.
مشاوره
توصیه می شود همیشه مقدار پارامتر FRAMEBORDER را به صورت عددی بنویسید، به عنوان مثال FRAMEBORDER=0. این از قوانین نوشتن یک پارامتر برای Microsoft Internet Explorer پیروی می کند، اما قوانین Netscape را نقض می کند (اگرچه توسط دومی به درستی درک می شود).
توجه داشته باشید
اگر فریمهای بین فریمها ترسیم نشده باشند، مرورگر اینترنت اکسپلورر مایکروسافت (برخلاف Netscape)، در غیاب پارامتر NORESIZE، به شما این امکان را میدهد که با کشیدن فریمها با ماوس، اندازه فریمها را «لمس» کنید. با تغییر شکل نشانگر ماوس می توانید مکانی که قاب باید در آن باشد را پیدا کنید.
مرورگر اینترنت اکسپلورر مایکروسافت امکان استفاده از پارامتر FRAMESPACING اضافی نوشته شده در تگ را فراهم می کند
، که مقدار آن تعداد پیکسل های بین فریم ها را مشخص می کند که باید خالی بماند.
اجازه دهید مثالی بزنیم که نتیجه نمایش آن در شکل نشان داده شده است. 5.15.
تغییر فاصله بین فریم ها
برنج. 5.15.فضای خالی بین فریم ها در Microsoft Internet Explorer
توجه داشته باشید
متأسفانه، بسیاری از توضیحات زبان HTML به اشتباه بیان می کنند که پارامتر FRAMESPACING باید در تگ استفاده شود. . مایکروسافت اینترنت اکسپلورر فقط اجازه می دهد تا از این پارامتر در یک برچسب استفاده شود .
قاب های شناور
مرورگر اینترنت اکسپلورر مایکروسافت اجازه استفاده از یک برچسب منحصر به فرد را می دهد
علاوه بر این، پارامترهای اضافی زیر را می توان برای تنظیم موقعیت و اندازه قاب شناور در سند استفاده کرد: WIDTH، HEIGHT، HSPACE، VSPACE، ALIGN. هدف و ترتیب استفاده آنها با پارامترهای مربوط به تصاویر تعبیه شده مطابقت دارد که توسط برچسب مشخص شده است. .
در اینجا مثالی از استفاده از فریم های شناور آورده شده است:
استفاده از قاب های شناور
نمونه ای از استفاده از مفهوم قاب های شناور
СЕМТЕК>
مرورگر شما اجازه نمایش فریم های شناور را نمی دهد
مایکروسافت اینترنت اکسپلورر اولین مرورگر (و تاکنون تنها) است که از فریم های به اصطلاح شناور پشتیبانی می کند.
این قاب ها را می توان در هر جایی از صفحه نمایش قرار داد، درست مانند گرافیک ها و جداول.
کادر سمت راست این متن با استفاده از یک تگ مخصوص در صفحه قرار می گیرد . تراز سمت راست هنگام ایجاد قاب مشخص شد.
نتیجه نمایش این مثال توسط مرورگر Microsoft Internet Explorer در شکل نشان داده شده است. 5.16. مرورگرهایی که از مفهوم قاب های شناور پشتیبانی نمی کنند، برای این مثال، به جای نمایش محتوای سند float.htm، متن "مرورگر شما اجازه نمایش فریم های شناور را نمی دهد" را نمایش می دهند.
برنج. 5.16.قاب شناور در مایکروسافت اینترنت اکسپلورر
توجه داشته باشید که مفهوم فریم های شناور از نظر ایدئولوژی شبیه به تصاویر یا جداول تعبیه شده است. در اینجا یک سند HTML دیگر به طور کامل در محل مورد نظر در سند HTML تعبیه شده است.
مشاوره
در حال حاضر، استفاده از فریم های شناور به یک مرورگر محدود می شود - Microsoft Internet Explorer نسخه 3.0 و بالاتر. لطفاً توجه داشته باشید که کاربران سایر مرورگرها (به ویژه نت اسکیپ) نمی توانند محتویات iframes را ببینند.
ابزارهایی برای ایجاد اسناد حاوی فریم
یک سند HTML حاوی فریم ها، مانند هر سند دیگری، می تواند به صورت دستی با استفاده از هر ویرایشگر متن موجود ایجاد یا ویرایش شود. اکثر ویرایشگرهای تخصصی HTML یا قابلیت قاب بندی بصری ندارند یا قابلیت های بسیار محدودی دارند. چندین ویرایشگر خاص وجود دارند که بر روی ایجاد فریم تمرکز دارند. اجازه دهید به طور مختصر قابلیت های برخی از آنها را شرح دهیم.
ویرایشگر فریم FrameGang
یکی از این ویرایشگرها ابزار FrameGang است که توسط شرکت استرالیایی Sausage Software توسعه یافته است که بیشتر به خاطر ویرایشگر محبوب HTML HotDog خود شناخته شده است.
اطلاعات مربوط به این محصول نرم افزاری را می توانید در آدرس زیر دریافت کنید http://www.sausage.comو همچنین از مجموعه محصولات نرم افزاری برای اینترنت (در http://www.tucows.comیا هر یک از چندین ده سرور آینه ای پراکنده در سراسر جهان).
ابزار FrameGang افزودنی به هر ویرایشگر HTML یا ویرایشگر متن معمولی است که در محیط ویندوز اجرا می شود، که به شما امکان می دهد ساختار قاب لازم را به صورت بصری طراحی کنید و سپس کد HTML مربوطه را تولید کنید. کد HTML حاصل را می توان از طریق کلیپ بورد ویندوز (Clipboard) به ویرایشگر HTML منتقل کرد. برنامه FrameGang به شما این امکان را می دهد که به سرعت ساختار فریم مورد نظر را بسازید.
بیایید به قابلیت های برنامه نگاه کنیم. پس از نصب این برنامه در ویندوز و راهاندازی آن، از شما خواسته میشود یکی از دو ساختار فریم احتمالی سطح اول (بالا) - چینش ستونی فریمها (ستونها) یا در جهت ردیف (Rows) را انتخاب کنید و تعداد آنها را نیز تعیین کنید. در آینده می توان هر یک از فریم های سطح اول را در صورت لزوم به چند قاب سطح دوم تقسیم کرد. تعداد بیشتری از سطوح فریم ارائه نشده است، اما این محدودیت قابل توجهی نیست، زیرا در عمل بیش از دو سطح به ندرت استفاده می شود.
به عنوان مثال، اجازه دهید چهار فریم را انتخاب کنیم که در ستون ها چیده شده اند. در مرحله بعد باید ساختاری از فریم های سطح دوم ایجاد کنید که این کار با تقسیم فریم های موجود در جهت مخالف انجام می شود. برای این مثال، فریم ها را فقط می توان به صورت افقی تقسیم کرد. ایجاد فریم های سطح دوم در آیتم منوی Add انجام می شود که اجرای آن فریم بعدی را به فریم فعلی اضافه می کند.
لطفا توجه داشته باشید که تصاویر خنده دار در قاب ها هیچ معنایی ندارند و فقط برای پر کردن فضای خالی هستند. نقاشی آنها را می توان در منوی گزینه ها لغو کرد. همچنین توجه می کنیم که نام سازنده (سوسیس - سوسیس) و نام برخی از محصولات نرم افزاری آن (HotDog - بدون نیاز به ترجمه) سبک رابط کاربری این بسته را تعیین می کند - در بسیاری از آیتم های منو تصویری از سوسیس وجود دارد. .
پس از تعریف ساختار قاب ها، باید اندازه آنها را تنظیم کنید. این کار با حرکت دادن حاشیههای فریمها با ماوس به همان روشی که برای تغییر اندازه پنجرههای ویندوز انجام میشود، انجام میشود. ابعاد تنظیم شده برای قاب فعلی به صورت درصد در پنجره هایی با نام Width و Height نمایش داده می شود. اگر نیاز دارید اندازه فریم را نه بر حسب درصد، بلکه بر حسب پیکسل یا واحد نسبی تنظیم کنید، باید کد HTML حاصل را به صورت دستی خارج از برنامه FrameGang تغییر دهید.
در مرحله بعد، برای هر فریم باید نام آن (Name) را تنظیم کنید، که می توان آن را حذف کرد، URL سندی که ابتدا در این قاب بارگذاری شده است (Frame URL)، و همچنین مقدار پارامتر حاشیه فریم قابل تغییر اندازه و پارامتر اسکرول را انتخاب کنید. برای محتویات قاب (Frame Scrolling).
در هر زمان می توانید ساختار فریم در حال ایجاد را در مرورگر خارجی انتخابی بدون خروج از برنامه FrameGang مشاهده کنید. برای این کار از دکمه Preview استفاده می شود. تنظیم نام مرورگر در منوی گزینه ها انجام می شود. پس از تنظیم تمام پارامترها، باید کد HTML مربوط به ساختار فریم انتخاب شده را ایجاد کنید که در کلیپ بورد ویندوز (دکمه کامپایل HTML) نوشته می شود. کد به دست آمده را می توان از کلیپ بورد در محل مورد نظر در فایل HTML در هنگام کار در هر ویرایشگر جایگذاری کرد.
دکمه های ذخیره و باز کردن فایل به شما این امکان را می دهد که فایل را فقط در یک رمزگذاری خاص مخصوص برنامه FrameGang ذخیره و بخوانید و برای هیچ کاربرد دیگری در نظر گرفته نشده است.
در زیر کد HTML تولید شده توسط FrameGang برای مثال توضیح داده شده است:
برای به دست آوردن یک سند HTML صحیح، کافی است کد حاصل را بین تگ ها قرار دهید و. می توانید یک بخش سرصفحه سند اضافه کنید
، که در آن داده های لازم را تعریف کنید، به عنوان مثال، عنوان سند (به یاد داشته باشید که عنوان سند بین برچسب ها نوشته شده است. و). توجه داشته باشید که مرورگرهای مدرن می توانند به درستی کار کنند حتی اگر برخی از برچسب های لازم وجود نداشته باشد. اگر کد HTML فوق به عنوان یک فایل با پسوند مناسب ذخیره شود، حتی بدون افزودن هیچ برچسبی، هم Netscape Navigator و هم Microsoft Internet Explorer می توانند سند را به درستی نمایش دهند.
برنامه FrameGang به شما امکان طراحی بصری قاب ها را می دهد، بسیار راحت و آسان برای استفاده است، اما بدون اشکال نیست. به ویژه، هیچ راهی برای تعیین اندازه فریم ها با نوشتن اعداد مورد نیاز در پنجره های Width و Height وجود ندارد، زیرا آنها فقط اندازه های تعیین شده را هنگام جابجایی مرزهای فریم با ماوس نشان می دهند. پارامترهای قاب پذیرفته شده MARGINWIDTH و MARGINHEIGHT تنظیم نشده اند. هیچ راهی برای نوشتن فایل با فرمت متنی روی دیسک وجود ندارد که استفاده آفلاین از این برنامه را غیرممکن می کند.
ویرایشگر قاب Frame-It
یکی دیگر از ویرایشگرهای تخصصی Frame-It است که اطلاعات مربوط به آن را می توانید در آدرس زیر بیابید:
http://www.iinet.net.au/~bwh/frame-it.html
کار با این برنامه از بسیاری جهات شبیه برنامه قبلی است. ابتدا باید ساختار اصلی قاب ها و تعداد آنها را تعیین کنید. در مرحله بعد، هر قاب، در صورت لزوم، به چندین تقسیم می شود و ساختارهای سطح دوم را تشکیل می دهد. درست مانند برنامه قبلی، تعداد سطوح تودرتوی فریم به دو سطح محدود شده است.
برای هر فریم، تمام پارامترهای لازم با پر کردن فیلدهای مربوطه تنظیم می شود. برخلاف برنامه قبلی، امکان تنظیم مقادیر پارامترهای MARGINWIDTH و MARGINHEIGHT وجود دارد. علاوه بر این، پرچم Invisible Frame Borders نیز معرفی شده است که با تنظیم، قطعه کد زیر را تولید می کند:
FRAMEBORDER="NO" BORDER="0" FRAMESPACING="0".
پس از تنظیم پارامترهای فریم مورد نیاز، می توانید کد HTML تولید شده را در یک فایل ذخیره کنید یا آن را در کلیپ بورد ویندوز بنویسید. کد تولید شده نه تنها حاوی توضیحات ساختار فریم، بلکه یک تگ شروع نیز خواهد بود و همچنین چند تگ و، که بین آن اطلاعات نوشته می شود، برای مرورگرهایی که فریم نمایش نمی دهند در نظر گرفته شده است.
برای یک مثال خاص، کد زیر تولید خواهد شد:
FRAMESACING="0">
با ساختار قاب
اگر در این مثال کادر Invisible Frame Borders را پاک کنید، کد تولید شده به طور قابل توجهی تغییر می کند:
scrolling=auto noresize>
scrolling=auto noresize>
scrolling=auto noresize>
scrolling=auto noresize>
scrolling=auto noresize>
مرورگر شما نمی تواند اسناد را نشان دهد
با ساختار قاب
اطلاعاتی در مورد استفاده از فریم ها در WWW
برای اطلاع از قاب ها می توانید به آدرس های زیر در WWW مراجعه کنید:
نحوه درج یک صفحه در صفحه HTML? برای انجام این کار باید استفاده کنید ، که یک قاب درون خطی در سند فعلی ایجاد می کند که سند HTML دیگری را نمایش می دهد.
نمایش دادن
بلوک نمایش
کد نمونه
قدرتمند و در عین حال آسان برای استفاده
در روزهای بد قدیم طراحی وب زیادی وجود داشت عناصری که زندگی هر توسعه دهنده ای را خراب می کند. آنها تقریبا همیشه یک رویکرد طراحی بد بودند. خوشبختانه عنصر در HTML5 منسوخ شده است. ولی یا " قاب درون خطی» هنوز موجود است. آیا در نسخه بعدی منسوخ می شود؟ شاید باید از آن اجتناب کنیم؟ چندین کاربرد معتبر از این عنصر هنگام ایجاد یک صفحه HTML وجود دارد. اما باید بدانید که چیست و چگونه کار می کند تا از اشتباه جلوگیری کنید.
مشابهت ها و تفاوت ها و
هر دوی این عناصر به شما امکان می دهند یک سند HTML جداگانه ایجاد کنید. پیوندی به محتوای سندی که صفحه وب فعلی به آن ارجاع می دهد در ویژگی src مشخص شده است.
. . . . . .
تفاوت اصلی بین و چیز این است انطباق با این قانون را تضمین می کند که سند HTML در اولویت است. محتوا داخل عنصری که بخشی از سند جاری است ظاهر می شود. به عنوان مثال، این ویدیوی جاسازی شده را که از YouTube گرفته شده است در نظر بگیرید:
ویدیو به وضوح در صفحه HTML است و در یک پانل جداگانه نیست. عنصر این پارادایم را شکست و به سند اجازه داد تا روی پنجره مرورگر کنترل داشته باشد و آن را به چندین پانل کوچک (فریم) تقسیم کند که هر کدام یک سند جداگانه را نمایش می دهند. تمام تفاوت های دیگر بین این تفاوت اساسی و از آن ناشی می شود.
طرحبندیهای مبتنی بر فریم را با iframe بازسازی نکنید
روزی ممکن است با وظیفه به روز رسانی یک وب سایت قدیمی که با استفاده از فریم ساخته شده است مواجه شوید. ممکن است بخواهید استفاده کنید و یک عرض چیدمان ثابت برای بازسازی همان کابوس پانل ها و آستانه های مستقل. اما شما نمی توانید از ویژگی target برای باز کردن پیوند در یک فریم جداگانه استفاده کنید. می توانید شروع به جستجوی راه حل های جاوا اسکریپت کنید. لطفا انجامش نده.
کاربردهای خوب (و وحشتناک).
چندین مورد استفاده معتبر وجود دارد برای ایجاد یک صفحه HTML:
جاسازی محتوای رسانه ای شخص ثالث؛
جاسازی محتوای رسانه ای خود از طریق یک سند بین پلت فرمی؛
تعبیه نمونه کد؛
تعبیه کردن "اپلت های" شخص ثالث به عنوان اشکال پرداخت.
در اینجا چند مورد استفاده وحشتناک وجود دارد: :
گالری عکس؛
انجمن یا چت
اگر نیاز دارید که اسناد HTML مستقل و از قبل موجود را در سند فعلی جاسازی کنید، از آن استفاده کنید . اگر همه چیز را از ابتدا می سازید، دلیلی برای تقسیم طراحی صفحه به چندین سند جداگانه وجود ندارد. به خصوص اگر آنها در واقع محتوای مستقلی نباشند.
ویژگی های iframe
نام مشخصه
معنی
شرح
جعبه شنی
اجازه-همان-منشا اجازه ناوبری بالا اجازه فرم ها اجازه اسکریپت ها
تعدادی محدودیت برای محتوای بارگذاری شده در قاب تعیین می کند. تنظیم قبل نحوه ایجاد یک صفحه HTML
پیمایش
بله نه خودکار
تعیین می کند که آیا طومارها در کادر نمایش داده شوند یا نه. در HTML5 منسوخ شده است. به جای آن از CSS استفاده کنید.
نام
نام
نام فریم را مشخص می کند.
تراز کردن
سمت راست بالا پایین وسط
تراز قاب را نسبت به عناصر اطراف تعیین می کند. منسوخ شده است. به جای آن از CSS استفاده کنید.
چارچوب
بله (یا 1) نه
برای فعال کردن نمایش یک حاشیه در اطراف قاب استفاده می شود. در HTML5 منسوخ شده است. به جای آن از CSS استفاده کنید.
طولانی
URL
برای تعیین URL صفحه ای که حاوی توضیحات طولانی از محتویات قاب است استفاده می شود. منسوخ شده است. به جای آن از CSS استفاده کنید.
پهنای حاشیه
پیکسل ها
برای کنترل عرض بالشتک از محتوا تا حاشیه قاب استفاده می شود. منسوخ شده است. به جای آن از CSS استفاده کنید.
src
URL
نشانی اینترنتی سند را برای نمایش در IFRAME مشخص می کند.
vspace
پیکسل ها
حاشیه های عمودی را از کادر به محتوای اطراف تنظیم می کند. منسوخ شده است. به جای آن از CSS استفاده کنید.
عرض
پیکسل %
عرض فریم را در یک صفحه HTML تعریف می کند.
این نشریه ترجمه مقاله « "، تهیه شده توسط تیم پروژه دوستانه
با سلام خدمت خوانندگان محترم سایت وبلاگ. امروز در مورد فریم ها در HTML صحبت خواهیم کرد. واضح است که ما از ابتدا شروع می کنیم، یعنی اینکه این چه نوع حیوانی است. همچنین در مورد حال (Frame) و آینده (Iframe) این عناصر در نسخه فعلی زبان نشانه گذاری فرامتن و در استاندارد جدید Html 5 با .
در پایان مقاله، پس از شرح مفصلی از روند ایجاد فریم های داخلی و ساختار کلاسیک آنها در کد Html (که قبلاً به ندرت استفاده می شود) به ارتباط ساخت سایت بر روی آنها خواهیم پرداخت و همچنین امکان بحث در مورد آن را خواهیم داشت. روش های استفاده از آنها در دوره فعلی با استفاده از مثال وبلاگ من.
چیست و Iframe چه تفاوتی با Frame دارد؟
چیست؟ به نظر می رسد که آنها را می توان نه تنها در وب سایت ها، بلکه در هر برنامه کاربردی برای برنامه ها نیز مورد استفاده قرار داد، اما تفاوت آنها در این است که پنجره یک صفحه وب یا برنامه به چندین قسمت تقسیم می شود که در هر یک از آنها یک سند جداگانه بارگیری می شود. . علاوه بر این، این مناطق قاب مستقل از یکدیگر رفتار می کنند.
احتمالاً بارزترین نمونه استفاده از آنها که تقریباً همه شما با آن مواجه شده اید، به اصطلاح فایل های راهنما هستند که بسیاری از برنامه های نصب شده روی رایانه شما دارند.
فایل با منوی راهنما در پنجره سمت چپ بارگذاری می شود و سند مربوط به آیتم منوی انتخاب شده در پنجره سمت راست نمایش داده می شود. قابل توجه است که این ساختار به شما امکان می دهد هنگام باز کردن یک سند جدید در سمت راست، فایل را با منو در پنجره سمت چپ بارگذاری مجدد نکنید. این دقیقاً همان چیزی است که از آن تشکیل شده است مزیت اصلی استفاده از قابدر HTML.
در واقع، نام این عناصر باید به عنوان یک پنجره مستقل تفسیر شود. با کمک قاب ها، ما این فرصت را داریم که یک پنجره بزرگ را به چند قطعه تقسیم کنیم که به نوبه خود می تواند به عنوان گیرنده اسناد جداگانه مستقل از یکدیگر (صفحات، متون، تصاویر، فیلم ها و غیره) عمل کند.
ساختار فریم در زبان نشانه گذاری فرامتن چگونه ایجاد می شود؟ اگر در مورد استاندارد Html 4.01 (طبق طبقه بندی) صحبت کنیم که در حال حاضر اصلی است، از سه عنصر برای این کار استفاده می شود - Frame، Frameset و Noframes.
Iframe - قاب داخلی در استاندارد Html 5
اگر در مورد استاندارد Html 5 صحبت کنیم (آینده ما، که برخی از عناصر آن در حال حاضر توسط بسیاری از مرورگرها پشتیبانی می شود)، هیچ برچسب Frame، Frameset و Noframes و همچنین ساختار فریم کلاسیک وجود نخواهد داشت؛ در عوض، یکی وجود خواهد داشت. تک تگ Iframe (فریم جاسازی شده) که در ابتدا در مورد آن صحبت خواهیم کرد و سپس توجه خود را به طرح کلاسیک نسخه 4.01 معطوف خواهیم کرد که در واقع اکنون در حال استفاده است.
Iframe، برخلاف کلاسیکهای مورد بحث در زیر، نیازی به جایگزینی تگ Body با برچسبهای Frameset ندارد. آن ها این تگ را می توان در صفحات معمولی، به عنوان مثال، در داخل یک پاراگراف یا هر جای دیگری درج کرد. در هسته خود، این عنصر بسیار شبیه به تگ Img است که قبلاً در نظر گرفته ایم.
این یک عنصر درون خطی با محتوای قابل جایگزینی است زیرا دقیقاً مانند یک عنصر درون خطی رفتار می کند، اما نمایش داده می شود محتوای خارجی خارجی. تنها چهار عنصر از این قبیل در زبان HTML وجود دارد - Img، Iframe، Object و Embed. بنابراین، قهرمان ما مستلزم وجود یک فایل خارجی است که در ناحیه ای بارگذاری می شود که اندازه آن با استفاده از ویژگی های این تگ تنظیم شده است.
که Iframe یک عنصر سینک است که یک شی خارجی (مانند یک ویدیو) در آن بارگذاری می شود. و برای نشان دادن مسیر این فایل که باید در صفحه بارگذاری شود از ویژگی Src مخصوص استفاده کنید. اما برخلاف Img، عنصر Iframe جفت است، یعنی. همچنین یک برچسب بسته شدن وجود دارد:
این مثال خروجی یک صفحه ویدیوی یوتیوب را با استفاده از یک Iframe نشان می دهد. به منظور محدود کردن ناحیه قاب (پنجره) که در آن فایل خارجی بارگذاری می شود، ویژگی هایی ارائه شده است. عرض و ارتفاع، که مقادیر آن به پیکسل مشخص می شود:
آن ها این تگ ناحیه ای را ایجاد می کند که در آن یک شی خارجی بارگذاری می شود (مهم نیست که از سایت شما باشد یا از منبع دیگری). عرض و ارتفاع منطقه با استفاده از Width و Height مشخص می شود و ویژگی Src مسیر این شی را مشخص می کند.
عنصر Iframe همه این ویژگیها را از برچسبهای درون خطی مشابه با محتوای جایگزین (مانند Img که قبلاً در بالا ذکر شد) به ارث برده است. خب از عکسها هم صفاتی گرفته بود Hspace و Vspace، که به شما امکان می دهد تورفتگی ها را از مرزهای کادر به متنی که دور آن می پیچد تنظیم کنید.
همچنین قابل توجه است که تراز قاب داخلی دقیقاً به همان روشی انجام می شود که هنگام مطالعه تصاویر در Html - . همه یکسان تراز کردن، اما برای تگ Iframe با مقادیر ممکن Bottom، Top، Middle، Left و Right.
اما این عنصر همچنین چندین ویژگی را از تگ Frame از ساختار فریم کلاسیک گرفته است که در ادامه در متن در مورد آنها با جزئیات صحبت خواهیم کرد. این ویژگی ها شامل Name است که مقدار آن می تواند به عنوان مقدار مورد استفاده قرار گیرد تا سند مورد نیاز شما هنگام کلیک بر روی پیوند در پنجره این فریم باز شود (ادامه مطلب را در ادامه بخوانید).
همچنین در Iframe، ویژگی Frameborder از تگ Frame که فقط دو مقدار دارد - یا 0 (قاب اطراف قاب نمایش داده نمی شود) یا 1 (قاب قابل مشاهده است) مهاجرت کرد. مقدار پیش فرض Frameborder=1 است، بنابراین برای حذف آن باید Frameborder="0" را وارد کنید:
ویژگی Scrolling نیز از Frame به این عنصر منتقل شده است که مقدار پیشفرض آن Auto است - نوارهای پیمایش در قاب در صورت نیاز ظاهر میشوند زمانی که محتوا بزرگتر از اندازه پنجره در نظر گرفته شده برای نمایش آن باشد.
خوب، ویژگیهای Marginwidth و Marginheight نیز از عنصر Frame منتقل شدند. آنها در زیر در متن به طور مفصل مورد بحث قرار خواهند گرفت، اما به طور خلاصه - آنها به شما امکان می دهند تورفتگی را در عرض و ارتفاع از لبه های قاب به محتوایی که در آن قرار داده شده است، تنظیم کنید.
همانطور که قبلاً اشاره کردم، یک مثال واضح از استفاده از Iframe این است:
با قرار دادن یک Iframe به طور مستقیم در یک صفحه وب، خروجی یک ویدیو را از YouTube دریافت خواهید کرد. نتیجه می گیریم که این عنصر تلاقی بین عناصر درون خطی با محتوای جایگزین شده و در واقع فریم های کلاسیک است که اکنون به آن خواهیم پرداخت.
فریم های مبتنی بر برچسب های Frame و Frameset - ساختار آنها
بنابراین، ایجاد یک ساختار فریم کلاسیک با این واقعیت شروع می شود که شما به جای تگ Body باز و بسته، که معمولاً باید در هر سندی وجود داشته باشد، در کد Html بنویسید، و آن را با یک ظرف مبتنی بر عنصر جایگزین کنید. مجموعه فریم.
نکته اساسی این است که عنصر Body را نمی توان در این مورد استفاده کرد - یا Body (برای یک سند معمولی) یا Frameset (هنگام ایجاد ساختار قاب سند):
هر فریمی که در داخل اصلی ایجاد می کنیم با استفاده از یک عنصر جداگانه ایجاد می شود قاب. این تگ تک است و در آن مسیر سندی که در این پنجره بارگذاری می شود را تعیین می کنیم.
سومین عنصری که هنوز به آن نپرداخته ایم این است نوفریم ها. جفت شده است و به شما امکان می دهد متنی را در داخل بنویسید، که توسط مرورگر پردازش می شود و تنها در صورتی که همین مرورگر (یا دستگاه نمایشگر دیگر) از فریم ها پشتیبانی نکند، در یک صفحه وب نمایش داده می شود. به عنوان مثال، اگر از یک مرورگر برای دستگاه های تلفن همراه استفاده می کنید، ممکن است این اتفاق بیفتد.
معمولاً در Noframes نه تنها اطلاعاتی در مورد وضعیت فعلی با عدم امکان پردازش ساختار فریم اضافه می کنند، بلکه امکان رفتن به صفحات دیگر را نیز اضافه می کنند که می توانید بدون استفاده از آنها به کار خود ادامه دهید. گفتن چیز دیگری در مورد او دشوار است، پس بیایید ادامه دهیم.
به نظر می رسد که عنصر Frameset که به جای تگ Body استفاده می شود، تمام فضای اختصاص داده شده برای ناحیه مشاهده را اشغال می کند و فریم هایی در داخل این ناحیه با استفاده از عناصر فریم جداگانه ایجاد می شوند. در این رابطه، این سوال مطرح می شود - چگونه می توان منطقه دید را بین پنجره های جداگانه تقسیم کرد یا به عبارت دیگر، چگونه اندازه هر یک از آنها را تنظیم کرد.
این کار با افزودن ویژگی های مناسب به عنصر Frameset انجام می شود. دو تا از آنها موجود است - کلز و ردیف. Cols تقسیم یک پنجره بزرگ را به قاب ها یا ستون های عمودی تنظیم می کند و Rows به شما امکان می دهد آن را به پنجره ها یا ردیف های افقی تقسیم کنید.
ایجاد ساختاری بر اساس Frameset و ویژگی های Cols و Rows آن
مقادیر Cols و Rows تگ Frameset Html اعدادی هستند که با کاما (بدون فاصله) از هم جدا شده اند. این اعداد نسبت پنجره هایی را که می خواهیم در نتیجه بدست آوریم را تعیین می کنند. بنابراین، مهم نیست که چه تعداد اعداد جدا شده با کاما به صورت Cols یا Rows نوشته می شود، تعداد فریم هایی که داریم نتیجه خواهد بود.
به عنوان مثال، با استفاده از این نماد، سه ستون عمودی خواهیم داشت که عرض آنها با نسبت های 2:5:3 مطابقت دارد.
از آنجایی که نسبتها را برای سه فریم تنظیم کردهایم، باید سه عنصر Frame را بین تگهای Frameset باز و بسته شوند، حتی بدون تعیین ویژگیهای اضافی:
در نتیجه، ساختار قاب ما، متشکل از سه پنجره خالی، به شکل زیر خواهد بود:
در این مثال، اندازههای پنجره (Frame) را با استفاده از درصدها تنظیم میکنیم که از عرض ناحیه مشاهده (این مورد در استفاده از Cols است) یا از ارتفاع آن (Rows) گرفته میشود. هنگام تغییر درگاه دید، رابطه درصدی بین اندازههای فریم حفظ میشود. اما به جای درصد، می توانید از اعدادی که به معنای واقعی هستند نیز استفاده کنید. در اینجا، من فکر می کنم، هیچ مشکلی در درک نیز نباید ایجاد شود.
اما یک گزینه نسبتاً غیرمعمول نیز در تعیین اندازه وجود دارد که به نظر می رسد ستاره "*". علاوه بر این، می تواند فقط "*" باشد یا یک ستاره با یک عدد در جلو، به عنوان مثال، "3*". یک چیز هوشمندانه که بسیار شبیه به درصد است و به این معنی است که فضای فریم را به نسبت تقسیم می کنیم.
بیایید به یک مثال نگاه کنیم. حالا بیایید با استفاده از Rows، viewport را به ردیف های افقی تقسیم کنیم:
این مدخل به چه معناست؟ کل منطقه مشاهده در دسترس ما به صورت عمودی به سه خط تقسیم می شود. ارتفاع اولی در 200 پیکسل گرفته می شود، دومی - در 500، اما خط سوم تمام فضای باقی مانده در ارتفاع را اشغال می کند، زیرا "*" به عنوان اندازه آن استفاده شد.
نکته قابل توجه این است که مقادیر "*" و "1*" به یک معنا هستند - تمام فضای باقی مانده را به یک قسمت تقسیم می کنیم و این یک قسمت را به این قاب می دهیم (خوب ، یعنی تمام فضای باقی مانده).
اما ببینید چه اتفاقی می افتد اگر از مقدار "*" با عددی برای تقسیم به نسبت استفاده کنید:
به نظر شما ابعاد فریم در این حالت چقدر خواهد بود؟ مشخص است که خط دوم قطعا 100 پیکسل ارتفاع خواهد داشت. اما فضای باقیمانده چگونه از نظر ارتفاع بین ردیف سوم و اول تقسیم خواهد شد؟
محاسبه آن بسیار آسان است - فقط چهار (4*) را به دو (2*) اضافه کنید و بر این مخرج (کسری از برنامه درسی مدرسه را به خاطر بسپارید) دو و چهار تقسیم کنید. آن ها دریافتیم که ستون اول با قاب یک سوم فضای باقیمانده در ارتفاع و ستون سوم دو سوم را اشغال خواهد کرد. یا به عبارت دیگر، سومی دو برابر اولی خواهد بود:
میتوانید از هر سه روش برای اندازهگیری پنجرههای قاب در یک ویژگی استفاده کنید، به عنوان مثال:
در نتیجه، اولین ستون Frame با عرض ده درصد از کل منطقه موجود، دومی - 100 پیکسل و سه ستون باقیمانده دارای عرضی به نسبت های چهار، سه و دو نهم هستند. فضای عرض باقی مانده بنابراین همه چیز ساده و واضح است.
اگر می خواهید پنجره اصلی را نه تنها به قاب های افقی و عمودی، بلکه به عنوان مثال به ترکیب آنها تقسیم کنید، می توانید از ساختار تودرتوی عناصر Frameset به طور جداگانه برای ستون ها و جداگانه برای ردیف ها استفاده کنید. به عنوان مثال، برای به دست آوردن ساختار نشان داده شده در تصویر زیر، کافی است از ساختار زیر استفاده کنید:
آن ها ابتدا از “frameset cols=”20%,80%”“ استفاده می کنیم تا تمام فضای موجود را به صورت عمودی به دو ستون تقسیم کنیم و محتویات ستون سمت راست را با تگ “frame” تنظیم کنیم، اما به جای افزودن عنصر “frame” برای ستون سمت چپ، یک "Framset rows="10%*" جدید باز می کنیم.
و با کمک آن ستون سمت راست را با فریم به دو خط تقسیم می کنیم که محتویات آنها با استفاده از دو تگ "frame" تنظیم می شود و پس از آن هر دو ظرف "frameset" را می بندیم. همه چیز ساده و منطقی است.
مسیر را در ویژگی Src عنصر Frame مشخص کنید
اما همه ما در مورد عنصر Frameset و ویژگی های Cols و Rows آن صحبت کردیم که با کمک آنها ساختار را تشکیل داده و اندازه آنها را تنظیم می کنیم. حالا بیایید بفهمیم که چگونه اسناد لازم را در فریم های مورد نیاز نمایش دهیم و چگونه تعامل بین پنجره های آنها را پیکربندی کنیم.
بنابراین چگونه ظاهر پنجره هایی را که ایجاد می کنیم کنترل کنیم؟ همه اینها در ویژگی های تگ Frame موجود است. اولین مورد قابل ذکر این است Src. ما قبلاً آن را در تگ Img دیدهایم که به درج تصاویر در کد Html نگاه کردیم. ماهیت آن تغییر نکرده است و همچنان به شما امکان می دهد مسیر سندی را که باید در قاب بارگذاری شود مشخص کنید.
مسیر سند در Src را می توان به صورت مشخص کرد. مسیرهای نسبی معمولاً برای سندی استفاده میشوند که در منبع خود شما قرار دارد، اما زمانی که میخواهید سندی را از سایت دیگری در یک پنجره فریم بارگیری کنید، به مسیرهای مطلق نیاز دارید.
اگر مشخصه Src که مسیر سند مورد نظر را نشان می دهد مشخص نشده باشد، یک سند خالی در پنجره بارگذاری می شود. من شخصاً یک بار کار مشابهی را برای وبلاگم انجام دادم (به عنوان یک عنصر ناوبری اضافی) و در همان زمان یک پوشه جداگانه برای آن در سرور میزبان ایجاد کردم و نه تنها یک فایل Html با ساختار فریم (که من آن را index نامیدم) در آنجا قرار دادم. html)، اما همه آنها در پنجره های اسناد مختلف و همچنین فایل های تصویری که به عنوان پس زمینه استفاده می شدند بارگذاری می شوند.
بنابراین، استفاده از پیوندهای نسبی در ویژگی Src تگ Frame برای من آسانتر بود:
نکته قابل توجه این است که اگر تمام لینک های داده شده در این کد را از نسبی به مطلق (مانند https://site/navigator/joomla.html) جایگزین کنید و این فایل را در مرورگر باز کنید، اسناد مشخص شده در Frame بارگذاری می شوند. از سرور من و شما یک تصویر مشابه را در مرورگر خود خواهید دید. علاوه بر این، مهم نیست که فایل شما با ساختار قاب (index.html) در کجا قرار خواهد گرفت - در رایانه یا میزبان.
در مثال نشان داده شده در شکل، صفحه ای با یک منوی خاص که یک منوی معمولی است، در پنجره قاب سمت چپ بارگذاری می شود. اما آنچه مهم است نحوه تشکیل منو نیست، بلکه این است که پس از کلیک بر روی هر یک از پیوندهای آن چه اتفاقی می افتد.
اگر این کار را انجام دهید، همه چیز دقیقاً همانطور که باید اتفاق می افتد - سند در پنجره سمت راست پایین باز می شود. اما برای این کار مجبور شدم از یک ترفند کوچک استفاده کنم، زیرا در نسخه پیش فرض سند به اندازه کل پنجره باز می شود و ساختار قاب را جایگزین می کند که اصلاً به آن نیازی نداشتم، زیرا منوی پیمایش در فریم های سمت چپ و بالا ناپدید شد.
نحوه باز کردن اسناد از طریق پیوند در یک قاب
بنابراین، وقتی در مورد لینکها صحبت کردیم، ویژگی تگ A را به عنوان Target=_blank ذکر کردیم. یادت میاد برای چیه؟ درست است که سند پیوند شده را در یک پنجره جدید باز کنید. به طور پیش فرض باید در همان پنجره باز شود که معادل target="_self" است.
اما اینها فرصت هستند هدفمحدود نیستند. معلوم می شود که می توانید ارزشی به آن اضافه کنید به عنوان نام قاب، که از قبل در ویژگی Name ویژه تگ Frame مشخص شده است. سپس سند از طریق این لینک در همان پنجره باز نمی شود و تمام فضای آن را اشغال می کند، اما در Frame که شما مشخص کرده اید. واضح است؟ اگر نه به طور کامل، اکنون با تجزیه و تحلیل مثال روشن می شود.
بنابراین، اجازه دهید به مثال خود که در شکل درست بالا نشان داده شده است، بازگردیم. ما باید صفحات را با استفاده از پیوندهایی از پنجره سمت چپ در کادر پایین سمت راست (بزرگ) باز کنیم. بنابراین، ابتدا باید با استفاده از ویژگی Name در تگ Frame به این پنجره بزرگ یک نام بدهید.
آن را ساختند و به آن «کتونا» گفتند. اکنون می توانید با خیال راحت فایلی را که به عنوان منو بارگذاری شده است در پنجره سمت چپ باز کنید و ویژگی Target="ktona" را به تمام تگ های A در آن اضافه کنید:
تاریخچه جوملا و مؤلفه VirtueMart
البته، با کمک ابزار جستجو و جایگزینی، قرار دادن آن برای همه لینک ها دشوار نخواهد بود، اما چرا وقتی فرصت عالی برای استفاده داریم، کد را بیهوده بارگذاری کنیم. تگ Base ویژه، که قبلاً در همان مقاله در مورد هایپرلینک ها به آن اشاره کردیم، زمانی که در مورد استفاده از Target blank صحبت کردیم.
کافی است عنصر اصلی target="ktona" را بین تگ های Head باز و بسته و همه پیوندهای موجود قرار دهید. کد HTMLاین سند صفحات جدیدی را در فریم مشخص شده به نام "ktona" باز می کند:
به هر حال، اگر ابزار زمانی موجود من را به عنوان مثال در نظر بگیریم، هنوز باید مطمئن شویم که همه پیوندها از پنجره افقی بالایی صفحات خود را در قاب عمودی سمت چپ باز می کنند، که به عنوان منوی سمت چپ من عمل می کند. برای این کار چه باید کرد؟
خوب، ابتدا باید به قاب عمودی سمت چپ یک نام بدهید:
و در فایلی که در پنجره بالا (gor.html) بارگذاری شده است، باید عنصر base target="gor" را اضافه کنید:
همین، حالا همه چیز را درست انجام داده ایم. تمام اسنادی که پیوندهای زیر را از فریم بالا میآیند در پنجره سمت چپ باز میشوند و همه پیوندهای آن اسناد را در مرکزی و بزرگترین قاب باز میکنند. به نظر من همه چیز ساده و منطقی است.
ویژگی های تگ فریم برای سفارشی کردن ظاهر ویندوز
حال ببینیم چه ویژگی هایی به جز Src و Name را می توان در تگ Frame برای شخصی سازی ظاهر فریم ها استفاده کرد. بیا شروع کنیم با پیمایش. با استفاده از آن، می توانیم نمایش نوارهای اسکرول را برای هر پنجره از ساختار قاب شما به طور جداگانه پیکربندی کنیم.
پیمایش دارای مقدار پیشفرض Auto است - مرورگر بهطور خودکار بر اساس اندازه سند بارگذاری شده در قاب تصمیم میگیرد که آیا نوار پیمایش نمایش داده شود یا خیر. اگر سند به طور کامل در پنجره قرار نگیرد، یک نوار پیمایش ظاهر می شود که به شما امکان می دهد همه آن را تا انتها مشاهده کنید.
همچنین میتوانید از مقادیر Yes (نوارهای اسکرول در پنجره همیشه نمایش داده میشوند، حتی اگر سند کاملاً در آن جا شود) و No (نوارهای اسکرول هرگز ظاهر نمیشوند، حتی اگر بخشی از سند مناسب نباشد) به عنوان مقادیر برای پیمایش.
در ابزاری که زمانی وجود داشتم، از مقدار پیشفرض Auto استفاده کردم و نوارهای اسکرول در فریمها در صورت نیاز ظاهر میشدند:
ویژگی زیر تگ Frame است Noresize- مجرد است (هیچ ارزشی ندارد). با ثبت آن، تغییر اندازه آن را ممنوع خواهید کرد، که به طور پیش فرض با کشیدن حاشیه فریم ها با ماوس انجام می شود.
وقتی نشانگر ماوس را به سمت حاشیه می برید، می بینید که مکان نما به یک فلش دو سر تبدیل می شود و اکنون با کلیک بر روی دکمه سمت چپماوس، شما می توانید مرز را به دلخواه حرکت دهید. Noresize ممنوعیتی را برای این اراده اعمال می کند (وقتی نشانگر ماوس را به سمت مرز پنجره ها حرکت می دهید، دیگر فلش دو طرفه را نخواهید دید).
یکی دیگر از ویژگی های بصری این است فریمبوردر. با استفاده از آن می توانید مشخص کنید که بین فریم ها قاب (حاشیه) رسم شود یا نه. Frameborder می تواند تنها دو مقدار ممکن داشته باشد - یا 0 (فریم را ترسیم نکنید) یا 1 (نمایش یک حاشیه). مقدار پیش فرض، البته، 1 است.
یک نکته ظریف وجود دارد. اگر میخواهید حاشیه قابل مشاهده را حذف کنید، باید Frameborder=0 را به تمام تگهای Frame فریمهایی که میخواهید مرزهای قابل مشاهده بین آنها حذف شوند اضافه کنید.
خوب، ما هنوز باید چند ویژگی تگ Frame را در نظر بگیریم - پهنای حاشیه و ارتفاع حاشیه، که بالشتک را از نظر عرض (راست و چپ) و ارتفاع (بالا و پایین) از مرزهای پنجره به محتوای بارگذاری شده در آن تنظیم می کند (عدد به معنای تعداد پیکسل های padding است):
چرا نمی توانید یک وب سایت روی فریم بسازید؟
بیایید ببینیم که اشکال اساسی ساختارهای کلاسیک چیست، که اساساً به استفاده از آنها در هنگام ایجاد یک وب سایت پایان می دهد. این شامل این واقعیت است که با توجه به این ساختار قاب ردیابی وضعیت او غیرممکن است.
ساختارهای پیچیده می توانند هزاران حالت مختلف داشته باشند (انواع اسناد باز شده در پنجره های قاب مختلف)، اما آدرس URL این ساختار تغییر نمی کند. به این دلیل وجود خواهد داشت نمی توان از نشانک های مرورگر استفاده کردیا لینک صفحات مورد علاقه خود را برای سایر کاربران ارسال کنید. چرا؟
زیرا آدرس حتی هنگام باز کردن آن از نشانکهای مرورگر یا ایمیل، بدون تغییر باقی میماند پست الکترونیک، صفحه ای با وضعیت شروع ساختار قاب دریافت می کنید، نه حالتی که می خواهید ذخیره کنید.
اگرچه البته این مشکل قابل حل است اما نه با ابزارهای HTML بلکه با کمک سرور (مثلاً Php) یا زبان های برنامه نویسی کلاینت (جاوا اسکریپت) و این راه حل ها کارایی صد در صدی نخواهند داشت. چنین راه حل هایی در واقع به شما امکان می دهد تا داده های اضافی در مورد وضعیت فعلی آن به آدرس URL ساختار قاب اضافه کنید، اما انجام این کار آسان نیست و قابلیت اطمینان آن مطلق نخواهد بود.
این اولین نقطه ضعف استفاده از فریم برای ایجاد وب سایت است و بسیار قابل توجه است، اما یک نقطه ضعف بزرگ دیگر نیز وجود دارد. البته موتورهای جستجو مدتهاست که یاد گرفتهاند آنها را فهرستبندی کنند و آدرسهای اسنادی را که در ویندوزشان بارگذاری میشوند از آنها استخراج کنند. مشکل فرق می کند.
وقتی کاربر از نتایج جستجوی Yandex یا Google به وب سایت شما که بر اساس ساختار قاب ساخته شده است می رود، فقط سندی که در یکی از فریم ها بارگذاری شده است باز می شود و نه کل ساختار. میفهمی چی میگم؟
کاربر سند و ناوبری را در سایت شما نمی بیند، زیرا در پنجره های دیگر محافظت می شود و آنها فقط به عنوان بخشی از کل ساختار بارگذاری می شوند.
در نتیجه، سایتی که بر روی فریم ها ساخته شده است به سادگی غیر قابل استفاده می شود. اگرچه، مجدداً، راه حل هایی برای این مشکل بر اساس اسکریپت های سرور وجود دارد، زمانی که تغییر مسیر از آدرس های اسناد جداگانه به یک ساختار فریمی که در حالت مطلوب است انجام می شود، اما این دوباره بسیار دشوار است و همیشه قابل اعتماد نیست.
به طور کلی، نتیجه گیری را می توان بدون ابهام گرفت - نیازی به ایجاد وب سایت بر روی فریم نیست. اما دائماً برای ایجاد کمک برای برنامه های مختلف استفاده می شوند و می توانند در موارد کوچک دیگر مفید باشند.
به عنوان مثال، من یک ساختار قاب ایجاد کردم که نام آن را "Navigator" گذاشتم (اکنون به طور موقت حذف شده است) و به نوعی منوی خارجی گسترش یافته برای وبلاگ من تبدیل شده است که به نظر من باید کار با منبع را ساده کند. و بنابراین، بهبود "بی مزخرف" تأثیر بسیار بسیار قوی بر ارتقای سایت دارد.
اما، با این حال، به منظور جلوگیری از هر گونه مشکل با موتورهای جستجو، من کل این ساختار فریم را از دید بستم، و همچنین، فقط در صورت لزوم، متا تگ Rodots را به تمام فایل های Html آن اضافه کردم و فهرست کردن آنها را ممنوع کردم:
جوملا
اما تمام این محدودیتها فقط برای ساختارهای روی برچسبهای Frame و Frameset اعمال میشود و فریم های تعبیه شده روی تگ های Iframeهیچ نقص قابل مشاهده ای ندارند و می توانند و حتی باید در پروژه های شما استفاده شوند، حداقل برای درج فیلم از YouTube.
موفق باشی! به زودی شما را در صفحات سایت وبلاگ می بینیم
ممکن است علاقه مند باشید
دستورالعمل های نظر و Doctype در کد Html و همچنین مفهوم بلوک و عناصر درون خطی (برچسب ها) جاسازی و شی - برچسب های Html برای نمایش محتوای رسانه ای (ویدئو، فلش، صدا) در صفحات وب Img - تگ Html برای درج یک عکس (Src)، تراز کردن و بسته بندی متن در اطراف آن (تراز کردن)، و همچنین تنظیم پس زمینه (پس زمینه) زبان نشانهگذاری فرامتن Html چیست و چگونه میتوان فهرستی از تمام برچسبها را در اعتبارسنجی W3C مشاهده کرد.انتخاب، Option، Textarea، Label، Fieldset، Legend - برچسب ها فرم های HTMLلیست های کشویی و فیلد متنی لیست در کد Html - برچسب های UL، OL، LI و DL فونت (چهره، اندازه و رنگ)، بلوک نقل قول و تگ های پیش - قالب بندی متن قدیمی در HTML خالص(بدون استفاده از CSS) نحوه تنظیم رنگ ها در کد Html و CSS، انتخاب سایه های RGB در جداول، خروجی Yandex و سایر برنامه ها