خانه - راه اندازی روتر
قرار دادن یک قاب. ایجاد فریم

زمینه های کاربرد قاب ها

توسعه دهندگان اسناد 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 کاملی که سندی با فریم های پیچیدگی متوسط ​​ایجاد می کند نگاه کنیم:

</p> <p>

این مثال صفحه قاب شده نشان داده شده در شکل را ایجاد می کند. 5.3. همانطور که می بینید، این کد HTML چهار فریم را تعریف می کند. قاب بالایی تمام عرض صفحه را در بر می گیرد و شامل عنوان است. بعد دو فریم مرکزی قرار دارند که یکی از آنها در سمت چپ قرار دارد و 25 درصد از عرض صفحه را اشغال می کند و دومی فضای باقیمانده را اشغال می کند. آخرین، چهارمین فریم، یک چهارم پایین صفحه را اشغال می کند. یک سند HTML جداگانه در هر فریم بارگذاری می شود که نام آن توسط پارامتر SRC تعیین می شود.

همانطور که از مثال مشخص است، از برچسب ها برای توصیف ساختار فریم ها استفاده می شود , و . بیایید به هدف این برچسب ها نگاه کنیم.</p> <span> <br><img src='https://i1.wp.com/webnav.ru/books/html4/frames/07.gif' width="100%" loading=lazy loading=lazy></span> <p><i><b>برنج. 5. <span>3 . </b>نتیجه مرورگر نت اسکیپ که سند HTML را با فریم های نشان داده شده در مثال نشان می دهد</span> </i></p> <p><b>برچسب بزنید <FRAMESET> </b></p> <p>فریم ها در ساختاری به نام FRAMESET تعریف می شوند که برای صفحات حاوی فریم به جای بخش BODY یک سند معمولی استفاده می شود. صفحات وب متشکل از فریم نمی توانند شامل بخش BODY در کد HTML خود باشند. به نوبه خود، صفحات دارای بخش BODY نمی توانند از فریم استفاده کنند.</p> <p><i><b>مشاوره</b> </i></p> <p><i> <span>از آنجایی که صفحات قاب شده دارای بخش BODY نیستند، راهی برای تنظیم تصویر پس زمینه و رنگ پس زمینه برای کل صفحه وجود ندارد. به یاد داشته باشید که این تنظیمات توسط پارامترهای BACKGROUND و BGCOLOR که در تگ BODY نوشته شده اند تعیین می شوند. با این حال، این مانع از بارگیری اسناد با تنظیمات پس زمینه خاص خود در هر فریم نمی شود.</span> </i></p> <p>ظرف برچسب ها <FRAMESET>و</FRAMESET>هر بلوک تعریف فریم را فریم می کند. داخل ظرف <FRAMESET>فقط می تواند حاوی برچسب ها باشد <FRAME>و تگ های تو در تو <FRAMESET>. </p> <p>برچسب بزنید <FRAMESET>دارای دو پارامتر ROWS (ردیف) و COLS (ستون) است و به صورت زیر نوشته می شود:</p> <p><FRAMESET ROWS="список_ значений" COLS="список_ значений">. </p> <p><i><b>توجه داشته باشید</b> </i></p> <p><i> <span>برخی از مرورگرها به پارامترهای برچسب اضافی اجازه می دهند <FRAMESET></span> </i></p> <p>می توانید مقادیر ROWS یا COLS یا هر دو را تعریف کنید. لازم است حداقل دو مقدار برای حداقل یکی از این پارامترها تعریف شود. اگر پارامتر دیگری حذف شود، مقدار آن 100% در نظر گرفته می شود.</p> <p><i><b>مشاوره</b> </i></p> <p><i> <span>اگر در یک برچسب <FRAMESET>اگر فقط یک مقدار برای ROWS و COLS تعریف شده باشد، این تگ نامعتبر در نظر گرفته می شود و مرورگر آن را نادیده می گیرد. به عبارت دیگر نمی توان تعیین کرد <FRAMESET>، که فقط از یک قاب تشکیل شده است.</span> </i></p> <p>فهرست مقادیر پارامتر ROWS و COLS تگ <FRAMESET>لیستی از مقادیر جدا شده با کاما است که می تواند در پیکسل، درصد یا واحدهای نسبی مشخص شود. تعداد سطرها یا ستون ها با تعداد مقادیر موجود در لیست مربوطه تعیین می شود. مثلا ضبط کنید</p> <p><FRAMESET ROWS="100,240,140"> </p> <p>مجموعه ای از سه فریم را تعریف می کند. این مقادیر مقادیر پیکسل مطلق هستند. به عبارت دیگر، فریم اول (ردیف اول) 100 پیکسل ارتفاع، دومی 240 پیکسل و آخرین 140 پیکسل است.</p> <p>تنظیم مقادیر اندازه فریم در پیکسل خیلی راحت نیست. این واقعیت را در نظر نمی گیرد که مرورگرها بر روی سیستم عامل های مختلف و با وضوح نمایش متفاوت اجرا می شوند. در عین حال، می توان مقادیر مطلق اندازه را برای برخی موارد تعریف کرد، به عنوان مثال، برای نمایش یک تصویر کوچک با ابعاد مشخص. بهترین گزینه تنظیم مقادیر در درصد یا واحدهای نسبی است، به عنوان مثال:</p> <p><FRAMESET ROWS="25%,50%,25%">. </p> <p>این مثال سه فریم را ایجاد می کند که به عنوان ردیف در عرض کامل صفحه قرار می گیرند. ردیف بالا 25 درصد از ارتفاع صفحه نمایش موجود، ردیف میانی 50 درصد و ردیف پایین 25 درصد از ارتفاع صفحه نمایش را اشغال می کند. اگر مجموع درصدهای مشخص شده برابر 100٪ نباشد، مقادیر به طور متناسب مقیاس می شوند تا نتیجه دقیقاً 100٪ باشد.</p> <p>مقادیر در واحدهای نسبی به شرح زیر است:</p> <p><FRAMESET COLS="*,2*,3*">. </p> <p>از ستاره (*) برای تقسیم فضا به نسبت استفاده می شود. هر ستاره نمایانگر بخشی از کل است. با جمع کردن تمام مقادیر اعداد کنار ستاره ها (اگر یک عدد حذف شود، یک فرض می شود)، مخرج کسری را به دست می آوریم. در این مثال، ستون اول 1/6 از کل عرض پنجره، ستون دوم 2/6 (یا 1/3) و آخرین ستون 3/6 (یا 1/) را اشغال می کند. 2).</p> <p>به یاد داشته باشید که یک مقدار عددی بدون هیچ کاراکتری تعداد مطلق پیکسل ها را برای یک سطر یا ستون مشخص می کند. یک مقدار با علامت درصد (%) نسبت عرض کل (برای COLS) یا ارتفاع (برای ROWS) درگاه دید را مشخص می‌کند و یک مقدار با ستاره (*) توزیع متناسب فضای باقی‌مانده را مشخص می‌کند.</p> <p>در اینجا یک مثال است که از هر سه گزینه برای تنظیم مقادیر استفاده می کند:</p> <p><FRAMESET COLS="100,25%,*,2*">. </p> <p>در این مثال، عرض ستون اول 100 پیکسل خواهد بود. ستون دوم 25 درصد از کل عرض نما را اشغال می کند، ستون سوم 1/3 فضای باقیمانده را اشغال می کند و در نهایت ستون آخر 2/3 را اشغال می کند. توصیه می شود ابتدا مقادیر مطلق را به ترتیب از چپ به راست اختصاص دهید. پس از آنها درصدهایی از اندازه کل فضا وجود دارد. در نهایت، مقادیری ثبت می شود که تقسیم متناسب فضای باقی مانده را تعیین می کند.</p> <p><i><b>مشاوره</b> </i></p> <p><i> <span>اگر از مقادیر مطلق COLS یا ROWS استفاده می‌کنید، آن‌ها را کوچک نگه دارید تا در هر پنجره مرورگر قرار بگیرند و حداقل یک درصد یا مقدار نسبی روی آن‌ها قرار دهید تا فضای باقی‌مانده پر شود.</span> </i></p> <p>اگر از تگ استفاده شود <FRAMESET>، که در آن هر دو COLS و ROWS مشخص شده است، یک شبکه از فریم ها ایجاد می شود. مثلا:</p> <p><FRAMESET ROWS="*,2*,*" COLS="2*,*"> </p> <p>این خط کد HTML یک شبکه فریم با سه ردیف و دو ستون ایجاد می کند. خطوط اول و آخر هر کدام 1/4 ارتفاع و خط وسط نیمی از ارتفاع را به خود اختصاص می دهند. ستون اول 2/3 عرض را اشغال می کند و ستون دوم - 1/3.</p> <p>ظرف <FRAMESET> </FRAMESET>همانطور که در مثال اولیه نشان داده شد، می توان داخل یک ظرف مشابه دیگر تو در تو قرار داد. بیایید استفاده از تگ را بیشتر در نظر بگیریم <FRAME>. </p> <p><i><b>توجه داشته باشید</b> </i></p> <p><i> <span>برخی از منابع در زبان HTML نشان می دهد که پارامترهای COLS و ROWS تگ <FRAMESET>متقابل منحصر به فرد هستند. با این حال، هر دو Netscape و Microsoft Internet Explorer به آنها اجازه می دهند که با هم استفاده شوند.</span> </i></p> <p><b>برچسب بزنید <FRAME> </b></p> <p>برچسب بزنید <FRAME>یک فریم واحد را تعریف می کند. باید در داخل یک جفت تگ قرار گیرد <FRAMESET>و</FRAMESET>. مثلا:</p> <p><FRAMESET ROWS="*,2*"> </p> <p><FRAME> </p> <p><FRAME> </p> <p></FRAMESET> </p> <p>لطفا توجه داشته باشید که برچسب <FRAME>ظرف نیست و بر خلاف <FRAMESET>برچسب پایانی ندارد. کل تعریف یک فریم با یک خط کد HTML انجام می شود.</p> <p>برچسب های زیادی برای ضبط وجود دارد <FRAME>در هنگام تعیین تگ، چند فریم جداگانه تعریف می شود <FRAMESET>. در مثال قبلی، تگ <FRAMESET>دو رشته داده شد، بنابراین باید دو تگ نوشته شود <FRAME>. با این حال، این مثال اساساً بی فایده است، زیرا هیچ یک از فریم ها محتوایی ندارند!</p> <p>برچسب بزنید <FRAME>دارای شش پارامتر SRC، NAME، MARGINWIDTH، MARGINHEIGHT، SCROLLING و NORESIZE.</p> <p><i><b>توجه داشته باشید</b> </i></p> <p><i> <span>برخی از مرورگرها به شما اجازه می دهند از تعدادی پارامتر تگ اضافی استفاده کنید <FRAME>. مروری بر قابلیت های مرورگرهای Netscape و Microsoft Internet Explorer در پایان فصل آورده شده است.</span> </i></p> <p>این ورودی برچسب است: <FRAME>با تمام پارامترها:</p> <p><FRAME SRC="url" NAME="window_name" SCROLLING=YES|NO|AUTO </p> <p>MARGINWIDTH="value" MARGINHEIGHT="value" NORESIZE></p> <p>در عمل در تگ <FRAME>به ندرت از همه پارامترها به طور همزمان استفاده می شود.</p> <p>مهمترین پارامتر SRC (مخفف منبع) است. اغلب در برچسب <FRAME>یک پارامتر SRC مشخص شده است. مثلا:</p> <p><FRAME SRC="url">. </p> <p>مقدار پارامتر SRC نشانی اینترنتی سندی را که در ابتدا در این فریم بارگذاری می‌شود، تعیین می‌کند. به طور معمول، این آدرس نام یک فایل HTML است که در همان دایرکتوری سند اصلی قرار دارد. سپس خط تعریف فریم، برای مثال، به شکل زیر خواهد بود:</p> <p><FRAME SRC="sample.htm">. </p> <p>توجه داشته باشید که هر فایل HTML مشخص شده در تعریف فریم باید یک سند کامل HTML باشد، نه یک قطعه. یعنی سند باید دارای تگ های HTML، HEAD، BODY و غیره باشد.</p> <p>البته، مقدار SRC می تواند هر URL معتبری باشد. اگر به عنوان مثال، از فریم برای نمایش یک تصویر GIF استفاده می شود که در سرور ناشر این کتاب قرار دارد، باید بنویسید:</p> <p><FRAME SRC="http://www.bhv.ru/example.gif">. </p> <p><i><b>مشاوره</b> </i></p> <p><i> <span>هیچ محتوایی را در سند توصیف ساختار قاب وارد نکنید.</span> </i></p> <p>متن ساده، عنوان، گرافیک و سایر عناصر را نمی توان مستقیماً در سندی که ساختار قاب را توصیف می کند استفاده کرد. تمام محتویات فریم ها باید در فایل های HTML جداگانه ای تعریف شوند که نام آنها توسط پارامتر SRC تگ مشخص شده است. <FRAME>. </p> <p>پارامتر NAME نام فریمی را مشخص می کند که می تواند برای ارجاع به این فریم استفاده شود. به طور معمول پیوند از فریم دیگری که در همان صفحه قرار دارد تنظیم می شود. مثلا:</p> <p><FRAME SRC="sample.htm" NAME="Frame_1">. </p> <p>این ورودی یک فریم به نام "Frame_1" ایجاد می کند که می توان به آن ارجاع داد. مثلا:</p> <p>برای دانلود اینجا کلیک کنید</p> <p>other.htm را در فریمی به نام Frame_1 مستند کنید.</p> <p>به پارامتر TARGET توجه کنید که به نام فریم اشاره دارد. اگر به یک فریم نامی داده نشود، یک فریم بدون نام ایجاد می شود و امکان ارجاع آن از فریم دیگری وجود نخواهد داشت. نام قاب ها باید با یک کاراکتر الفبایی شروع شود.</p> <p>پارامترهای MARGINWIDTH و MARGINHEIGHT به شما این امکان را می دهند که عرض حاشیه فریم را تنظیم کنید. این به صورت زیر نوشته شده است:</p> <p>MARGINWIDTH = مقدار،</p> <p>که در آن "ارزش" مقدار مطلق در پیکسل است. مثلا:</p> <p>این قاب دارای حاشیه هایی در بالا و پایین 5 پیکسل و در سمت چپ و راست - 7 پیکسل است. به یاد داشته باشید که ما در اینجا در مورد حاشیه صحبت می کنیم، نه مرز. پارامترهای MARGINWIDTH و MARGINHEIGHT فضایی را در کادر مشخص می‌کنند که هیچ اطلاعاتی در آن قرار نخواهد گرفت. حداقل مقدار قابل قبول برای این پارامترها یک است.</p> <p>اگر محتویات قاب به طور کامل در فضای اختصاص داده شده قرار نگیرد، فریم ها به طور خودکار نوارهای پیمایشی را ایجاد و نمایش می دهند. گاهی اوقات این کار طراحی صفحه را خراب می کند، بنابراین کنترل نمایش نوارهای اسکرول مفید است. برای این منظور از پارامتر SCROLLING استفاده می شود. فرمت ضبط:</p> <p><FRAME SCROLLING="YES|NO|AUTO">. </p> <p>پارامتر SCROLLING می تواند سه مقدار داشته باشد: YES، NO یا AUTO. مقدار AUTO همان اثری را دارد که اگر پارامتر SCROLLING وجود نداشته باشد. مقدار YES باعث می شود نوارهای اسکرول بدون توجه به اینکه آیا آنها مورد نیاز هستند ظاهر شوند و NO از نمایش آنها جلوگیری می کند. مثلا:</p> <p><FRAME SCROLLING=YES>. </p> <p>به طور معمول کاربر می تواند اندازه فریم ها را هنگام مشاهده صفحه تغییر دهد. اگر نشانگر ماوس را روی قاب فریم قرار دهید، مکان نما شکلی به خود می گیرد که امکان تغییر اندازه را نشان می دهد و به شما امکان می دهد فریم را به مکان مورد نظر منتقل کنید. این گاهی اوقات ساختار فریم های زیبا طراحی شده را می شکند. برای جلوگیری از تغییر اندازه فریم توسط کاربر، از پارامتر NORESIZE استفاده کنید:</p> <p><FRAME NORESIZE>. </p> <p>این پارامتر به هیچ مقداری نیاز ندارد. طبیعتاً وقتی پارامتر NORESIZE برای یکی از فریم ها تنظیم می شود، اندازه هیچ یک از فریم های مجاور نیز قابل تغییر نیست. گاهی اوقات، بسته به چیدمان فریم ها، استفاده از پارامتر NORESIZE در یکی از فریم ها برای جلوگیری از تغییر اندازه هر یک از آنها در صفحه کافی است.</p> <p><b>برچسب بزنید <NOFRAMES> </b></p> <p>توانایی کار با فریم ها در استاندارد HTML 3.0 یا HTML 3.2 در نظر گرفته نشده بود. در اینجا، تا همین اواخر، وضعیت نسبتاً معمولی وجود داشت که ویژگی‌های واقعی استفاده شده به طور فعال در بسیاری از صفحات WWW استفاده می‌شدند، اما بخشی از استاندارد نیستند. این بدان معنی است که مرورگرها می توانند به طور قانونی فریم ها را نادیده بگیرند. با ظهور استاندارد HTML 4.0، وضعیت تغییر کرده است - اکنون پشتیبانی از ساختارهای قاب در استاندارد گنجانده شده است. توجه داشته باشید که اکثر مرورگرهای مدرن حتی قبل از ظهور HTML 4.O فریم ها را تشخیص می دادند. با این حال، ارائه اطلاعات به کاربران با استفاده از مرورگرهایی که از فریم پشتیبانی نمی کنند ضروری است. برای چنین مرورگرهایی، امکان ارائه اطلاعات جایگزینی وجود دارد که بین یک جفت تگ نوشته شده است <NOFRAMES>و. به نظر می رسد این است:

</p> <p>کل سند HTML</p> <p>

همه چیز بین برچسب ها قرار می گیرد و، توسط مرورگرهایی که قابلیت پشتیبانی از فریم را ندارند نمایش داده می شود. مرورگرهای فریم‌آگاه تمام اطلاعات بین این برچسب‌ها را نادیده می‌گیرند.

توجه داشته باشید که در زندگی واقعی، توسعه دهندگان صفحه HTML اغلب از قابلیت های برچسب استفاده نمی کنند برای ایجاد صفحات بدون ساختار قاب، اما به سادگی دو نسخه از اسناد HTML خود را ایجاد کنید. برای این گزینه، صفحه شروع معمولاً انتخاب بارگیری یک سند با یا بدون ساختار قاب را ارائه می دهد. سپس، بسته به انتخاب کاربر، تنها یک نسخه از سند بارگیری می شود.</p> <p><b><span>ویژگی های توصیف سازه های قاب</span> </b></p> <p>یکی از مهم ترین تگ هایی که برای توصیف ساختارهای قاب استفاده می شود، تگ است <FRAME>. یک تگ دارای تعدادی پارامتر است که هیچ کدام مورد نیاز یا وابسته به بقیه نیستند، اما تعدادی از موارد وجود دارد که هنگام نوشتن آنها باید در نظر گرفت.</p> <p>به نظر می رسد که اگر شما نیاز به ایجاد یک قاب دارید که بعداً یک سند در آن بارگذاری شود، به عنوان مثال، با دستور از فریم دیگری، باید از برچسب استفاده کنید. <FRAME>پارامتر SRC را بنویسید. اگر این</p> <p>پارامتر حذف شده است، فریم ایجاد نخواهد شد، اگرچه فضایی برای آن باقی خواهد ماند. به عنوان مثال، یک رکورد مانند <FRAME NAME="B">کاملاً منطقی است و می تواند فریمی به نام "B" تعریف کند که در ابتدا هیچ سندی در آن بارگذاری نمی شود. با این حال، به دلیل عدم وجود پارامتر SRC، فریمی با آن نام وجود نخواهد داشت، بنابراین تلاش‌های بعدی برای بارگیری هر سندی در آن ناموفق باقی می‌ماند و فضای پنجره اختصاص داده شده برای این فریم خالی خواهد بود. علاوه بر این، برخی از مرورگرها (به عنوان مثال، مایکروسافت اینترنت اکسپلورر نسخه 3 برای ویندوز Z.xx) یک پیغام خطا را نمایش می دهند و هنگام تلاش برای بارگذاری یک سند در چنین فریمی از آن خارج می شوند.</p> <p>نیاز برای تنظیم پارامتر SRC را نمی توان به صورت منطقی توضیح داد، بنابراین بهتر است به سادگی به این واقعیت توجه کنید. سپس، حتی اگر سندی وجود نداشته باشد که از همان ابتدا باید در این فریم بارگذاری شود، باید نام یک فایل را در پارامتر SRC مشخص کنید. به عنوان مثال، چنین فایلی را می توان vala.htm (خالی) نامید، که محتوای آن حداقل سند HTML صحیح ممکن خواهد بود، یعنی:</p> <p><HTML> </p> <p><HEAD> </p> <p></HEAD> </p> <p><BODY> </p> <p></BODY> </p> <p></HTML> </p> <p>می توانید این سند را به دو برچسب کاهش دهید: <HTMLX/HTML>، که یک سند HTML معتبر نیز خواهد بود. با دنبال کردن مسیر حداکثر کاهش اندازه یک سند "خالی"، می توانید خود را به فایلی محدود کنید که اندازه آن برابر با یک بایت است که کاراکتر فاصله (یا هر کاراکتر غیرقابل نمایش دیگری) را ذخیره می کند. این فایل یک سند HTML معتبر نخواهد بود، اما برای اکثر مرورگرها مشکلی ایجاد نخواهد کرد. کاهش بیشتر اندازه چنین فایلی به صفر موجه نیست، زیرا هنگامی که توسط مرورگر نت اسکیپ بارگذاری می شود، یک پیام هشدار (شکل 5.4) نشان می دهد که سند حاوی داده نیست.</p> <span> <img src='https://i0.wp.com/webnav.ru/books/html4/frames/08.gif' height="119" width="332" loading=lazy loading=lazy></span> <p><i><b>برنج. 5. <span>4 . </b>پیام هشدار هنگام آپلود یک فایل با طول صفر</span> </i></p> <p>در این صورت باید با فشردن کلید به این پیام پاسخ دهید <Enter>یا دکمه ماوس هر زمان که سند بارگیری مجدد شود یا اندازه پنجره مرورگر تغییر کند، پیام دوباره ظاهر می شود.</p> <p>شما همچنین می توانید نام یک فایل موجود را مشخص کنید، اما در این مورد مرورگر نت اسکیپ یک پیام هشدار نمایش می دهد (شکل 5.5) که مانع از کار بیشتر نمی شود، اما منجر به ناراحتی های مشابه می شود.</p> <span> <img src='https://i2.wp.com/webnav.ru/books/html4/frames/09.gif' height="139" width="314" loading=lazy loading=lazy></span> <p><i><b>برنج. 5. <span>5 . </b>پیام هشدار هنگام تلاش برای دانلود فایلی که وجود ندارد</span> </i></p> <p><i><b>مشاوره</b> </i></p> <p><i> <span>فایلی به نام vala.htm بسازید که اندازه آن یک بایت و حاوی کاراکتر فاصله باشد. هنگام نوشتن یک برچسب، آن را به یک قانون تبدیل کنید <FRAME>اگر تعیین فوری نام یک فایل خاص غیرممکن است، همیشه SRC=empty.htm را مشخص کنید.</span> </i></p> <p>نمونه هایی از قاب ها</p> <p>این بخش چند نمونه معمولی از تعاریف فریم را ارائه می دهد.</p> <p>اجازه دهید به مثال ارائه شده در ابتدای این بخش برگردیم (شکل 5.3). این مثال از ساختار تودرتو استفاده می کند <FRAMESET>. برچسب خارجی <FRAMESET>سه ردیف ارتفاع، به ترتیب 25، 50 و 25 درصد از ارتفاع کل نمای پورت ایجاد می کند:</p> <p><FRAMESET ROWS="25%,50%,25%">. </p> <p>در این محدوده تعریف، اولین و آخرین خط فریم های ساده هستند:</p> <p><FRAME SRC="header.htm"> <FRAME SRC="footer.htm"> </p> <p>هر یک از این خطوط تمام عرض صفحه را پر می کند. خط اول بالای صفحه 25 درصد ارتفاع و خط سوم پایین نیز 25 درصد ارتفاع را اشغال می کند. با این حال، بین آنها یک برچسب تودرتو وجود دارد <FRAMESET>: </p> <p><FRAMESET COLS="25%,75%"> </p> <p><FRAME SRC="list.htm"> </p> <p><FRAME SRC="info.htm"> </p> <p></FRAMESET> </p> <p>این تگ دو ستون را تعریف می کند که ردیف وسط صفحه به آنها تقسیم می شود. ردیفی که این دو ستون را در بر می گیرد، 50 درصد از ارتفاع صفحه را می گیرد، همانطور که در تگ بیرونی تعریف شده است. <FRAMESET>. ستون سمت چپ از 25 درصد عرض صفحه استفاده می کند، در حالی که ستون سمت راست 75 درصد از عرض صفحه را اشغال می کند.</p> <p>فریم‌های این ستون‌ها در یک جفت تگ تودرتو تعریف می‌شوند <FRAMESET>و</FRAMESET>، در حالی که تعریف فریم برای خط اول و آخر خارج از این جفت، اما در داخل بیرونی نوشته شده است <FRAMESET>به ترتیب مناسب</p> <p>اگر به عنوان یک بلوک تودرتو فکر کنید، ساختار رکورد به راحتی قابل درک است <FRAMESET>به عنوان یک عنصر جداگانه <FRAME>. در مثال ما، تگ بیرونی <FRAMESET>سه خط را تعریف می کند. هر یک از آنها باید تکمیل شود. در این مورد، آنها ابتدا با یک عنصر جداگانه پر می شوند <FRAME>، سپس - به عنوان یک بلوک تو در تو <FRAMESET>عرض دو ستون و سپس عنصر دیگر <FRAME>. </p> <p>حال ممکن است این سوال پیش بیاید که آیا مقدار پارامتر تگ SRC می تواند باشد؟ <FRAME>نام فایل را تنظیم کنید، که به نوبه خود حاوی توضیحات ساختار قاب است. بله این قابل قبول است. در این مورد برچسب <FRAME>برای اشاره به یک سند HTML که یک ساختار فریم است و به عنوان یک قاب جداگانه استفاده می شود، استفاده می شود.</p> <p>بیایید به مثال برگردیم و تودرتو را جایگزین کنیم <FRAMESET>به یک جداگانه <FRAME>. طبیعتاً، از آنجایی که تو در تو قرار دارند، به جای یک فایل HTML به دو فایل HTML نیاز خواهید داشت <FRAMESET>اکنون در یک سند جداگانه قرار خواهد گرفت. در اینجا محتویات اولین فایل (خارجی) آمده است:</p> <p><HTML> </p> <p><HEAD> </p> <p></HEAD> </p> <p><FRAMESET ROWS="25%,50%,25%"> </p> <p><FRAME SRC="header.htm"> </p> <p><FRAME SRC="frameset.htm"> </p> <p><FRAME SRC="footer.htm"> </p> <p></FRAMESET> </p> <p><NOFRAMES> </p> <p>مرورگر شما نمی تواند فریم ها را نمایش دهد</p> <p>

فایل دوم با نام 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 که ساختار فریم ها را توصیف می کند، بخش ندارد .

در اینجا متن فایل با نام frame_a.htm آمده است:

سند برای قاب A

D

4. بارگذاری یک سند در یک پنجره جدید

5. بارگیری یک سند در پنجره کامل

6. بارگذاری یک سند در قاب فعلی

این سند یک سند کامل 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" قابل مشاهده است. با این حال، به سختی توصیه می شود که نام اسناد بارگذاری شده در فریم ها را حذف کنید، زیرا ممکن است برای مثال در لیست نشانک ها هنگام ایجاد نشانک برای یک سند واقع در یک قاب یا لیست اسناد مشاهده شده ظاهر شوند.</span> </i></p> <p>بیایید نمونه جالب دیگری از سازماندهی تعامل بین فریم ها و پنجره های مرورگر را بررسی کنیم. اجازه دهید متن سند HTML بارگذاری شده اصلی وجود داشته باشد:</p> <p><HTML> </p> <p><HEAD> </p> <p><TITLE>استفاده از نام پنجره ها

یک سند با ساختار قاب در یک پنجره جدید

استفاده از فریم ها

لطفاً توجه داشته باشید که اگر سند اصلی یک سند استاندارد 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" TARGET="Two_Frames">گزینه 1-2

گزینه 2-1

2-1<TITLE> </p> <p></HEAD> </p> <p><FRAMESET ROWS="*,*"> </p> <p><FRAME SRC="2.htm"> </p> <p><FRAME SRC="1.htm"> </p> <p></FRAMESET> </p> <p></HTML> </p> <p>توجه داشته باشید که متن فایل های 1_2.htm و 2_1.htm فقط در ترتیب پیوند به فایل های 1.htm و 2.htm متفاوت است.</p> <p>اجازه دهید اکنون ساختار یک سند بارگذاری شده در قاب سمت چپ را در نظر بگیریم. این شامل دو پیوند با پارامتر TARGET="Two_Frames" است. اجرای هر یک از این پیوندها دو فریم را در محل قاب "Two_Frames" ایجاد می کند (این نیمه سمت راست صفحه است)، اسناد 1.htm و 2.htm را به ترتیب بارگیری می کند. بنابراین، هنگام انتخاب گزینه 1-2، سند 1.htm در قاب سمت راست بالا و 2.htm در قاب سمت راست پایین بارگذاری می شود. با انتخاب گزینه 2-1 ترتیب اسناد تغییر می کند. در نتیجه، انتخاب متناوب گزینه ها این تصور را ایجاد می کند که اسناد در دو فریم در حال تغییر مکان هستند. این دقیقاً همان تأثیری است که ما به دنبال دستیابی به آن بودیم (شکل 5.9).</p> <p>محتویات اسناد 1.htm و 2.htm برای مثال توصیف شده اهمیتی ندارد. با این حال، به عنوان مثال، به جای اسناد بی اهمیت، اسنادی را با پیوندهایی ایجاد می کنیم که همان اقدامات را انجام می دهند.</p> <p>متن فایل 1.htm:</p> <p><HTML> </p> <p><HEAD> </p> <p><TITLE>سند 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 باید در تگ استفاده شود. . مایکروسافت اینترنت اکسپلورر فقط اجازه می دهد تا از این پارامتر در یک برچسب استفاده شود .

قاب های شناور

مرورگر اینترنت اکسپلورر مایکروسافت اجازه استفاده از یک برچسب منحصر به فرد را می دهد . در TEGS

مایکروسافت اینترنت اکسپلورر اولین مرورگر (و تاکنون تنها) است که از فریم های به اصطلاح شناور پشتیبانی می کند.

این قاب ها را می توان در هر جایی از صفحه نمایش قرار داد، درست مانند گرافیک ها و جداول.

کادر سمت راست این متن با استفاده از یک تگ مخصوص در صفحه قرار می گیرد

سند نمونه با قاب شناور:



قاب شناور


قاب شناور


در این صفحه به اصطلاح «قاب شناور» معرفی شده است.
در یک پنجره جداگانه، سند html دیگری را برای نمایش باز می کند.



… … …




نوفریم ها

برخی از مرورگرها ساختار قاب سند را پشتیبانی نمی کنند یا آن را به اشتباه تفسیر می کنند؛ علاوه بر این، کاربران اغلب عمداً پشتیبانی از ساختار قاب سند HTML را در تنظیمات مرورگر خود غیرفعال می کنند. و اگرچه درصد این گونه مرورگرها و کاربران کم است، با این وجود وجود دارند.

حالا تصور کنید که وب سایت خود را با استفاده از ساختار فریم ساخته اید و برخی از بازدیدکنندگان، شاید بدون اینکه بدانند مشکل چیست، سعی کنند وب سایت شما را باز کنند و مرورگر آنها خطا نشان می دهد! آنها در مورد سایت شما چه فکری خواهند کرد؟ من چیزی شبیه این فکر می کنم: "اوه.. یک نوع مزخرف.. من دیگر اینجا نمی آیم!"

برای اینکه برای کاربر روشن شود که تنظیمات مرورگر/مرورگر او از فریم ها پشتیبانی نمی کند، یک برچسب وجود دارد </b> .</p> <p>برچسب بزنید <b><noframes> </b>اگر مرورگر کاربر از فریم‌ها پشتیبانی نمی‌کند یا به اجبار در تنظیمات آن غیرفعال شده باشد، متن محصور شده در آن را نمایش می‌دهد. اگر فریم ها توسط مرورگر کاربر پشتیبانی می شوند، این تگ به سادگی نادیده گرفته می شود.</p> <p> <html> <br> <head> <br> <title>قاب ها</title> <br> </head> <br> <frameset cols="*,800,*" border="0"> <br><b><noframes>با عرض پوزش، اما مرورگر شما فریم را پشتیبانی نمی کند..











نتیجه مثال قابل توجه خواهد بود اگر مرورگر شما واقعاً از فریم ها پشتیبانی نمی کند (اینجا من مدت زیادی فکر می کردم.. :) اگر اینطور است پس چرا اصلاً این فصل را بخوانید؟) یا پشتیبانی از فریم را در خود خاموش کرده باشید. مرورگر به عنوان یک آزمایش

برچسب بزنید </b>باید در داخل یک تگ قرار گیرد <b><frameset> </b></p> <p>با یک قاب شناور، همه چیز حتی ساده تر است، فقط متن مورد نظر را بین آنها بنویسید <b><iframe> </iframe> </b>و اگر مرورگر از فریم ها پشتیبانی نکند این پیغام روی صفحه نمایش داده می شود.</p> <p> <iframe src="primer.html" width="300" height="250" align ="left" scrolling="auto" frameborder="1"><b>با عرض پوزش، اما مرورگر شما فریم را پشتیبانی نمی کند..</b></iframe> </p> <ul><p>قبل از شروع ایجاد صفحه با استفاده از ساختار فریم، طرح آن، اندازه هر پنجره، وجود یا عدم وجود نوارهای اسکرول در آنها و غیره را تجزیه و تحلیل کنید. موقعیت نسبت به یکدیگر</p><p>از برچسب استفاده کنید <b><noframes> </b>. به یاد داشته باشید که اگر سایت در مرورگر شما کار می کند و همانطور که می خواهید نمایش داده می شود، ممکن است برای سایر کاربران همه چیز متفاوت باشد!</p> </ul> <p>علیرغم این واقعیت که سایت های دارای فریم به طور فزاینده ای نادر می شوند، یادگیری HTML بدون در نظر گرفتن موضوع فریم ها ناقص خواهد بود. علاوه بر این، فریم ها به یک معنا جایگاه خود را اشغال کرده اند و برای مدیریت و سیستم های کمکی استفاده می شوند. در جایی که معایب قاب ها اهمیت خاصی ندارند، اما برعکس، مزایا به طور فعال مورد تقاضا هستند.</p> <p>از تگ برای ایجاد یک قاب استفاده می شود <frameset>، که جایگزین تگ می شود <body>در یک سند و برای تقسیم صفحه به قسمت ها استفاده می شود. درون این تگ تگ هایی وجود دارد <frame>، که به سند HTML در نظر گرفته شده برای بارگذاری در منطقه اشاره می کند (شکل 13.1).</p> <p>برنج. 13.1. مثالی از تقسیم پنجره مرورگر به دو فریم</p> <p>هنگام استفاده از فریم ها، حداقل به سه فایل HTML نیاز دارید: اولی ساختار فریم را تعریف می کند و پنجره مرورگر را به دو قسمت تقسیم می کند، و دو سند باقی مانده در پنجره های مشخص شده بارگذاری می شوند. تعداد فریم ها لزوماً برابر با دو نیست، شاید بیشتر باشد، اما کمتر از دو نفر نیست، در غیر این صورت معنای استفاده از فریم کاملاً از بین می رود.</p> <p>بیایید مراحل ایجاد فریم را بر اساس صفحه نشان داده شده در شکل در نظر بگیریم. 13.1. ما به سه فایل نیاز داریم: index.html - ساختار سند را تعریف می کند، menu.html - بارگذاری شده در قاب سمت چپ، و content.html - بارگذاری شده در فریم سمت راست. از این میان، فقط index.html در ساختار کد آن با فایل های دیگر متفاوت است (مثال 13.1).</p> <p>مثال 13.1. فایل index.html</p><p> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>قاب ها</title> </head> <frameset cols="100,*"> <frame src="menu.html" name="MENU"> <frame src="content.html" name="CONTENT"> </frameset> </html> </p><p>در صورت استفاده از فریم، نوع سند زیر در خط اول کد نوشته می شود.</p><p> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> </p><p>را<!DOCTYPE>به مرورگر می گوید که با فریم ها سروکار دارد، این خط کد مورد نیاز است. ظرف <head>حاوی اطلاعات معمولی مانند رمزگذاری صفحه و عنوان سند است. فقط به خاطر داشته باشید که تا زمانی که فایل های HTML درون فریم ها باز می شوند، هدر یکسان باقی می ماند.</p> <p>در این مثال، پنجره مرورگر با استفاده از ویژگی cols به دو ستون تقسیم می شود که ستون سمت چپ 100 پیکسل و ستون سمت راست فضای باقیمانده مشخص شده توسط علامت ستاره را اشغال می کند. عرض یا ارتفاع فریم ها را نیز می توان به صورت درصدی مانند جداول تنظیم کرد.</p> <p>در تگ <frame>نام فایل HTML بارگذاری شده در ناحیه مشخص شده با استفاده از ویژگی src مشخص می شود. فایلی به نام menu.html در پنجره سمت چپ (مثال 13.2) و content.html در پنجره سمت راست (مثال 13.3) بارگذاری می شود. توصیه می شود به هر فریم یک نام منحصر به فرد بدهید تا بتوان اسناد را با استفاده از ویژگی name در پنجره مشخص شده بارگذاری کرد.</p> <p>مثال 13.2. منوی فایل.html</p><p> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>ناوبری سایت</title> </head> <body style="background: #f0f0f0"> <script type="text/javascript"> <!-- var _acic={dataProvider:10};(function(){var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://www.acint.net/aci.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})() //--> </script><br> <br> </body> </html> </p><p>در این مثال، پس‌زمینه خاکستری صفحه با استفاده از استایل‌ها تنظیم می‌شود که بعداً مورد بحث قرار خواهد گرفت.</p> <p>مثال 13.3. فایل content.html</p><p> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>محتوای سایت</title> </head> <body> <p>محتوا</p> <script type="text/javascript"> <!-- var _acic={dataProvider:10};(function(){var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://www.acint.net/aci.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})() //--> </script><br> <br> </body> </html> </p><p>بیایید یک مثال پیچیده تر را با سه قاب در نظر بگیریم (شکل 13.2).</p> <p><img src='https://i0.wp.com/htmlbook.ru/files/images/samhtml/fig_1_13_2.png' width="100%" loading=lazy loading=lazy></p> <p>برنج. 13.2. تقسیم یک صفحه به سه فریم</p> <p>در این مورد، تگ دوباره استفاده می شود <frameset>، اما دو بار، با یک تگ تو در تو در دیگری. پارتیشن بندی افقی از طریق ویژگی rows ایجاد می شود، جایی که نماد درصد برای تنوع استفاده می شود (مثال 13.4).</p> <p>مثال 13.4. سه قاب</p><p> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>قاب ها</title> </head> <frameset rows="25%,75%"> <frame src="top.html" name="TOP" scrolling="no" noresize> <frameset cols="100,*"> <frame src="menu.html" name="MENU"> <frame src="content.html" name="CONTENT"> </frameset> </frameset> </html> </p><p>همانطور که از این مثال مشخص است، ظرف <frameset>با صفت rows ابتدا دو قاب افقی ایجاد می کند، اما فریم دوم را با یکی دیگر جایگزین می کند <frameset>، که ساختاری را که قبلاً از مثال 13.1 می شناسید تکرار می کند. برای جلوگیری از ظاهر شدن نوار پیمایش عمودی و عدم امکان تغییر مستقل اندازه فریم توسط کاربر، ویژگی‌های scrolling="no" و noresize اضافه شده‌اند.</p> <p><i> </i> 07.12.2015</p> <p>نه هنوز</p> <br><p>سلام به همه! <br>ما با پشتکار به مطالعه اصول اولیه HTML ادامه می دهیم. خوشحالم که درس هایت را رها نمی کنی.</p> <p>در این درس به بررسی خواهیم پرداخت <b>قاب ها چیست</b>و نحوه ایجاد آنها در HTML. <br>بنابراین، اجازه دهید تعریف کنیم که چه فریم هایی در HTML هستند. <br><b>قاب ها</b>- این تقسیم پنجره مرورگر به مناطق جداگانه است که در آن اسناد HTML فردی می توانند بارگیری شوند.</p> <p>فکر می کنم متوجه شده اید که به لطف فریم ها، می توانید چندین صفحه وب را همزمان در یک پنجره مرورگر مشاهده کنید.</p> <p>به عنوان مثال، برای درک نحوه عملکرد فریم در عمل، پیشنهاد می کنم به یک مثال نگاه کنید. چند جابجایی در آنجا انجام دهید:</p> <p>خب چی فکر می کنی؟ آیا می خواهید یاد بگیرید که چگونه این را ایجاد کنید؟ حالا یاد خواهیم گرفت <b>قرار دادن فریم در سند html</b>.</p> <p>یک قاب در یک صفحه وب با استفاده از طرح زیر ایجاد می شود:</p><p> <frameset> <frame> <frame> </frameset> </p><blockquote><p><b>توجه:</b>طرح کد فریم به جای تگ در سند html درج می شود <bode><script type="text/javascript"> <!-- var _acic={dataProvider:10};(function(){var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://www.acint.net/aci.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})() //--> </script><br> <br> </body> :</p> </blockquote> <html> <head> <title>قاب ها</title> </head> <frameset> <frame> <frame> </frameset> </html> <p>○ <b>برچسب فریم‌ست</b></p> <p>این محفظه اصلی برای ایجاد یک قاب است که عناصر دیگر در آن قرار دارند. <br>تگ بسته شدن الزامی است.</p><p> <frameset></frameset> </p><p><i><b>*ویژگی های تگ frameset:</b> </i> </p> <ul><li>Cols - عمودی</li> <li>ردیف - افقی</li> </ul><p><b>ردیف ها</b>- به صورت افقی</p> <p><img src='https://i2.wp.com/stepkinblog.ru/wp-content/uploads/2015/12/stepkinblog-ru-frameset-html-1.png' height="125" width="181" loading=lazy loading=lazy></p> <p><b>cols</b>- به صورت عمودی</p> <p><img src='https://i0.wp.com/stepkinblog.ru/wp-content/uploads/2015/12/stepkinblog-ru-frameset-html-2.png' height="127" width="185" loading=lazy loading=lazy></p> <p>ویژگی های cols و rows نشان می دهد که پنجره مرورگر باید به چند قسمت تقسیم شود. به عنوان مثال، برای تقسیم پنجره مرورگر به دو قسمت عمودی، باید به صورت زیر بنویسید:</p><p> <frameset cols="30%,*"> </p><p>اندازه سمت چپ صفحه 30 درصد و سمت راست 70 درصد خواهد بود.</p> <p>اگر می خواهید مرورگر را به چند قسمت دیگر تقسیم کنید، ابعاد اضافی را که با کاما از هم جدا شده اند، اضافه کنید، به عنوان مثال، مانند این:</p><p> <frameset cols="30%,20%,10%,40%"> </p><p>در نتیجه اولین <span>ستون عمودی</span>عرض 30٪، دوم - 20٪، سوم - 10٪، چهارم - 40٪ خواهد بود.</p> <p><img src='https://i0.wp.com/stepkinblog.ru/wp-content/uploads/2015/12/stepkinblog-ru-frameset-html-3.png' width="100%" loading=lazy loading=lazy></p> <p>فهمیدم؟</p> <p>همین امر در مورد طرح افقی نیز صدق می کند:</p><p> <frameset rows="30%,20%,10%,40%"> </p><p>اولین ستون افقی 30٪ عرض، دوم - 20٪، سوم - 10٪، چهارم - 40٪ خواهد بود.</p> <p><img src='https://i1.wp.com/stepkinblog.ru/wp-content/uploads/2015/12/stepkinblog-ru-frameset-html-4.png' height="199" width="390" loading=lazy loading=lazy></p> <p>○ <b>تگ فریم</b></p> <p>تگ فریم مشخص می کند که کدام سند HTML باید در پنجره مرورگر بارگذاری شود. <br>به عنوان مثال، ما باید سه صفحه مختلف "1.html"، "2.html"، "3.html" را در یک پنجره مرورگر بارگذاری کنیم. تگ فریم به شکل زیر خواهد بود:</p><p> <frame src="1.html"> <frame src="2.html"> <frame src="3.html"> </p><p>بیایید دانش را در مورد فریم ها خلاصه کنیم. بنابراین، وظیفه: شما باید پنجره مرورگر را به دو قسمت تقسیم کنید و دو صفحه وب را در این قسمت ها بارگذاری کنید - "1.html" 30٪، "2.html" 70٪. <br>این کد تمام شده است:</p><p> <frameset cols="30%,*"> <frame src="1.html"> <frame src="2.html"> </frameset> </p><p>نتیجه به این صورت خواهد بود:</p> <p><img src='https://i0.wp.com/stepkinblog.ru/wp-content/uploads/2015/12/stepkinblog-ru-frameset-html-5.png' width="100%" loading=lazy loading=lazy></p> <p><i><b>* ویژگی های برچسب قاب</b> </i> </p> <ul><li>src – آدرس صفحه وب. <i>src="1.html"</i> ;</li> <li>marginwidth - حاشیه داخل قاب در امتداد عرض. مثال: <i>marginwidth = "10"</i> ;</li> <li>حاشیه ارتفاع - حاشیه ارتفاع در داخل قاب. مثال: <i>marginhight = "10"</i> ;</li> <li>پیمایش - پیمایش قاب از طریق اسکرول. <br>- بله - اسکرول در قاب وجود خواهد داشت. مثال: <i>پیمایش "بله"</i> ;<br>- خیر - اسکرول در قاب وجود نخواهد داشت. مثال: <i>پیمایش "نه"</i> ;<br>- در صورت لزوم، اسکرول خودکار در قاب وجود خواهد داشت. مثال: <i>پیمایش "خودکار"</i> ;</li> <li>noresize - حرکات مرزهای فریم را ممنوع می کند.</li> <li>نام - نام قاب. مشخص می کند که فریم های دیگر باید در کدام پنجره باز شوند. مثال: <i>نام = "سایت"</i> ;</li> </ul> <p>اگر در ویژگی "name" نامی برای فریم تعیین نکنید، پس از کلیک بر روی پیوند، یک فریم جدید در پنجره ای که پیوند در آن قرار داشت باز می شود:</p> <p>اگر ویژگی "name" را اضافه کنید در اینجا یک مثال آورده شده است:</p> <p>این بهتر نیست؟ <br>برای هر فریم، ویژگی "name" را در جایی که می‌خواهید سایر اسناد HTML در آن باز شوند، اضافه کنید</p><p> <frame src="2.html "name ="сайт"> </p><p>نام در ویژگی "name" می تواند هر چیزی باشد. اما در آینده، اگر به سایر تگ‌های «قاب» نام می‌دهید، به یاد داشته باشید که هر یک باید منحصر به فرد باشد:</p><p> <frame src="2..html "name ="bloggood-ru"> <frame src="3.html "name ="nocrisise-ru"> </p><p>صفحه 2 صفحه 3</p><p>"صفحه 1"، "صفحه 2" در یک پنجره باز می شود که در آن نام قاب "name =" را مشخص کرده اید. <span>سایت اینترنتی "</span>" و "صفحه 3" در قاب دیگری باز می شود، جایی که نام "name =" <span>bloggood-ru "</span>»</p> <p><b>تمرین</b></p> <p>وظیفه: شما باید با استفاده از این طرح، فریم هایی ایجاد کنید:</p> <p><img src='https://i0.wp.com/stepkinblog.ru/wp-content/uploads/2015/12/stepkinblog-ru-frameset-html-6.png' width="100%" loading=lazy loading=lazy></p> <p>ابتدا سه قاب افقی ایجاد می کنیم:</p><p> <frameset rows="15%,*,15%"> </frameset> </p><p>حالا بیایید "top.html" و "footer.html" را اضافه کنیم.</p><p> <frameset rows="15%,*,15%"> <frame src="top.html"> <frame src="footer.html"> </frameset> </p><p>نتیجه تا اینجا به این صورت خواهد بود:</p> <p><img src='https://i1.wp.com/stepkinblog.ru/wp-content/uploads/2015/12/stepkinblog-ru-frameset-html-7.png' width="100%" loading=lazy loading=lazy></p> <p>اکنون بین "top.html" و "footer.html" "menu.html" و "content.html" را اضافه می کنیم:</p><p> <frameset rows="15%,*,15%"> <frame src="top.html"> <frameset cols="25%,75%"> <frame src="menu.html"> <frame src="content.html" name="main"> </frameset> <frame src="footer.html"> </frameset> </p><p>کد آماده:</p><p> <html> <head> <title>قاب ها</title> </head> <frameset rows="15%,*,15%"> <frame src="top.html"> <frameset cols="25%,75%"> <frame src="menu.html"> <frame src="content.html" name="main"> </frameset> <frame src="footer.html"> </frameset> </html> </p><p>فایل را به عنوان "index.html" ذخیره کنید</p> <p>صفحات "top.html"، "footer.html"، "menu.html" و "content.html" را ایجاد کنید:</p> <p>کد فایل "top.html"</p><p> <html> <head> <title>هدر سایت</title> </head> <body bgcolor="#b2f2ff" text="#0000FF"> <h1>سایت اینترنتی</h1> <script type="text/javascript"> <!-- var _acic={dataProvider:10};(function(){var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://www.acint.net/aci.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})() //--> </script><br> <br> </body> </html> </p><p>کد فایل "footer.html"</p><p> <html> <head> <title>فایل footer.html</title> </head> <body bgcolor="#b2f2ff" text="#000000">StepkinBlog.com © 2015<script type="text/javascript"> <!-- var _acic={dataProvider:10};(function(){var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://www.acint.net/aci.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})() //--> </script><br> <br> </body> </html> </p><p>کد فایل "menu.html"</p><p> <html> <head> <title>File menu.html – منوی سایت</title> </head> <body bgcolor="#b2bbff" text="#112cf5"> <ul> <li>صفحه نخست</li> <li>درباره نویسنده</li> </ul> <script type="text/javascript"> <!-- var _acic={dataProvider:10};(function(){var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://www.acint.net/aci.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})() //--> </script><br> <br> </body> </html> </p><p>کد فایل "content.html":</p><p> <html> <head> <title>صفحه نخست</title> </head> <body bgcolor="#e3e5f8" text="#FF0055"> <h1>صفحه نخست</h1>محتوای سایت - "صفحه اصلی (content.html)"<script type="text/javascript"> <!-- var _acic={dataProvider:10};(function(){var e=document.createElement("script");e.type="text/javascript";e.async=true;e.src="https://www.acint.net/aci.js";var t=document.getElementsByTagName("script")[0];t.parentNode.insertBefore(e,t)})() //--> </script><br> <br> </body> </html> </p><p>کد فایل "autor.html":</p><p>نتیجه ای که گرفتم اینه:</p> <p>بیایید از ویژگی های «frame» استفاده کنیم و کشش دستی فریم ها را غیرفعال کنیم و اسکرول را در فایل «index.html» حذف کنیم.</p><p> <frameset rows="15%,*,15%"> <frame src="top.html" scrolling ="no" noresize> <frameset cols="25%,75%"> <frame src="menu.html"scrolling ="no" noresize> <frame src="content.html" name="main"scrolling ="no" noresize> </frameset> <frame src="footer.html" noresize> </frameset> </p><p><b>○ اگر فریم ها توسط مرورگر پشتیبانی نمی شوند چه باید کرد؟ <br></b><br>می توانید پیامی به کاربر نشان دهید که مرورگر او از فریم ها پشتیبانی نمی کند. برای این کار، تگ را وارد کنید <noframes>داخل سازه <frameset> :</p><p> <frameset rows="15%,*,15%"> <noframes>

○ قاب شناور

اگر نیاز دارید که یک پنجره iframe را مستقیماً در صفحه‌ای که ساختار فریمی ندارد وارد کنید، یک برچسب "iframe" برای این کار وجود دارد.

* ویژگی های برچسب "iframe".

  • src - مسیر صفحه برای باز کردن
  • عرض - عرض قاب شناور
  • ارتفاع - ارتفاع قاب شناور
  • پیمایش - نوار پیمایش
    - نه - هرگز نوار اسکرول را نشان ندهید
    - بله - همیشه نشان دهید
    - خودکار - در صورت لزوم نمایش داده شود
  • align - تراز قاب شناور
    - چپ - چپ
    - سمت راست - سمت راست
    - بالا - بالاتر
    - پایین - زیر
  • frameborder - حاشیه اطراف قاب شناور
    - 1 - قاب را روشن کنید
    - 0 - قاب را خاموش کنید

تگ iframe با ویژگی ها به این صورت است:

اگر مرورگر شما از فریم ها پشتیبانی نمی کند، می توانید متن را وارد کنید " اوپس! مرورگر شما از چهارچوب ها پشتیبانی نمی کند. » بین برچسب ها .
شبیه این خواهد شد:

به عنوان مثال، بیایید یک iframe به فایل "content.html" اضافه کنیم:

صفحه نخست

صفحه نخست

محتوای سایت - "صفحه اصلی (محتوا! مرورگر شما از فریم ها پشتیبانی نمی کند.

پست قبلی
ورودی بعدی



 


خواندن:



رتبه بندی بهترین هدفون های بی سیم

رتبه بندی بهترین هدفون های بی سیم

آیا می توان گوش های یونیورسال را با قیمت ارزان خریداری کرد؟ 3000 روبل - آیا می توان برای چنین پولی هدفون های باکیفیت خریداری کرد؟ همانطور که معلوم شد، بله. و گفتار...

دوربین اصلی موبایل معمولاً در پشت بدنه قرار دارد و برای گرفتن عکس و فیلم استفاده می شود

دوربین اصلی موبایل معمولاً در پشت بدنه قرار دارد و برای گرفتن عکس و فیلم استفاده می شود

نسخه به روز شده تبلت با ویژگی های بهبود یافته و استقلال بالا. گوشی های هوشمند ایسر به ندرت بازدید می شوند...

چگونه با حفظ شماره خود به اپراتور دیگری سوئیچ کنید

چگونه با حفظ شماره خود به اپراتور دیگری سوئیچ کنید

قانون حفظ شماره تلفن هنگام تغییر مشترک به اپراتور تلفن همراه دیگر در روسیه از اول دسامبر به اجرا درآمد. با این حال، مشخص شد که ...

بررسی یک فبلت، گران قیمت، اما بسیار شایسته

بررسی یک فبلت، گران قیمت، اما بسیار شایسته

نقد و بررسی یک فبلت گران قیمت اما بسیار شایسته 1394/03/20 من تنها کفاش جهان بدون چکمه، منتقد گوشی هوشمند بدون گوشی هوشمند خودم هستم ....

فید-تصویر RSS