PDA

View Full Version : تگ frame چیست ؟



Javad.Kashi
سه شنبه 25 خرداد 1389, 18:04 عصر
سلام به همه :لبخندساده:
تگ frame چیست و کارایی آن چیست ؟
و آیا استفاده از آن خوب است ؟(آخه شنیدم که می گن از آن استفاده نکرد!!!!)

ABDOLHAMID(R@iny)
پنج شنبه 27 خرداد 1389, 09:15 صبح
یه جستجو تو گوگل میزدی زور تر به نتیجه میرسیدی. این تگ رو بهش یه url میدی اون url رو برات توی صفحه لود میکنه. مثل بعضی از سایت ها که میری کل سایت باز شده ولی یه قسمتش نوشته دسترسی به این سایت مجاز نمیابشد، اون iframe هست.

[NEVER]
پنج شنبه 27 خرداد 1389, 11:59 صبح
تکمیل گفته ی ABDOLHAMID(R@iny) (http://www.barnamenevis.org/forum/member.php?u=152412) عزیز


فريم چيست؟

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

به مجموعه صفحات گنجانده شده در يک صفحه frameset مي گويند و به هر صفحه از آن يک frame يا يک چارچوب گفته ميشود. در ساختار اصلي کدها، ديگر تگ <body> نوشته نميشود و جاي آن تگ <frameset></frameset> قرارميگيرد، البته هر صفحه يعني هر فريم را که کد نويسي ميکنيد مانند ساختار معمولي است و از تگ <body></body>بايد استفاده کنيد ولي هنگاميکه صفحات را در يک frameset ميگذاريد بايد در ساختار کد آن بجاي <body>از <frameset> استفاده کرد،


<html>
<head>
</head>
<frameset>
</frameset>
</html>

توجه داشته باشيد که براي ديدن source code فريمها بايد بر روي هر فريم کليک راست کرده و گزينه view source را انتخاب کنيد و براي مشاهده کدهاي يک frameset بايد از منو view مرورگر اقدام نماييد.

منبع : iranw3

eshpilen
پنج شنبه 27 خرداد 1389, 23:30 عصر
بنظر من هرچیزی کاربرد خودش رو داره.
frameset هم همینطور.
در استانداردهای رسمی این ساختار حتی Deprecate هم نشده (تاجایی که من میدونم).
و هنوز در خیلی جاها دیده میشه.
منتها اشتباهی که یک عده میکنن (یا میکردن!) اینه که بدون آگاهی از عوارض و خواصش اونو در خیلی کاربردهایی بکار میبرن که بجا نیست. یعنی باوجود انعطاف و ویژگیهای جالب و راحتی اولیه، مشکلات متعددی در حال و آینده میتونه باهاش وجود داشته باشه.
بنابراین یک مدت تبلیغ زیادی روی عدم استفاده از این امکان شد که البته بجا هم بود و در بیشتر موارد صدق میکرد و منجر به افت شدید کاربرد این ویژگی شد که حتی بنظر درحال انقراض میامد.
الان اکثر سایتها و تقریبا تمامی نرم افزارهای عمومی مثل CMS و Forum ها و غیره بدون استفاده از frameset نوشته میشن.
ولی بازم کسی بطور کلی نمیتونه بگه چرا مثلا در یک کاربرد خاص و بخصوص محدود به دلایل مختلف نشه از frameset استفاده کرد. بالاخره این یه جزیی از امکانات در دسترس و جزو استانداردها هست و خواص منحصر بفرد خودش رو داره و بعضی جاها واقعا راه دسته.
شاید بشه با اغماض، frameset رو با دستور goto در زبانهای برنامه نویسی مقایسه کرد.
عدهء زیادی فکر میکنن دستور goto همیشه غیراستاندارد و غیرمفید و بدون کاربرد هست، اما بعضی وقتها کاربردهای بجا و مفیدی داره و جزو زبانها و استانداردها هست و حذف نمیشه (بنظرم حذف نشدنش فقط بخاطر Backward compatibility نیست). البته در بیشتر کاربردها از goto استفاده نمیشه. اگر به برنامه نویسان اینقدر در سرزنش goto تاکید نمیکردن خیلی ها از این دستور در خیلی جاها که نباید استفاده میکردن.

mohsen_Iran
شنبه 29 خرداد 1389, 10:25 صبح
اینو هم اضافه کنم که در html5 دیگه frameset ها ساپورت نمیشن و فقط iframe وجود دارد.

eshpilen
یک شنبه 30 خرداد 1389, 11:34 صبح
بنظرم iframe هم یکسری از معایب frameset رو داشته باشه.

eshpilen
چهارشنبه 02 تیر 1389, 20:03 عصر
راستی یک کاربرد خاص اما مفید و متداول برای frameset ها یادم افتاد.
اگر در اینترفیس مودمهای ADSL که از طریق مرورگر وب بهشون دسترسی پیدا میکنید دقت کنید در اکثرشون از طراحی بر اساس frame استفاده شده. یعنی حداقل اونایی که من دیدم هموشون همینطور بودن.
این مثال شاید ثابت نکنه اما میتونه نشون بده که هرچیزی بالاخره جایی هرچند خاص و معدود کاربردهای مفید یا حتی نسبتا ضروری ای میتونه داشته باشه.
مسلما اینترفیس یک مودم ADSL چیزی نیست که مثلا با موتورهای جستجو رابطه ای داشته باشه (بخشی از مشکلات فریم ها به موتورهای جستجو برمیگرده) و میشه گفت هیچوقت جزو وب نیست اصلا و ضمنا خیلی دیگه از مشکلات فریم ها هم در این نوع کاربرد مطرح نیست. در اینجا از HTML و مرورگرهای وب بعنوان ابزاری برای یک کاربرد خاص استفاده شده که البته این استفاده از استاندارد HTML و برنامهء همه جایی مرورگر مزایای مهمی هم داره. ضمنا اینکه این اینترفیس ها با فریم طراحی میشن احتمالا علتهای دیگری غیر از راحتی و سرعت تهیه هم داشته.
بهرحال من فکر میکنم چون هنوز HTML4 تا مدتها دیده و استفاده خواهد شد، عملا فریم ها هم کاملا منسوخ محسوب نمیشن. البته پشتیبانی مرورگرها که تا مدتهای مدیدی به احتمال زیاد ادامه خواهد داشت و ضرورتی هم نداره که این امکان حذف بشه.
من یه قاعده ای از خودم کشف ! کردم که میگه هرچیزی که خواصی داشته باشه که در چیزهای دیگر نیست کاربردهای خاص خودش رو هم خواهد داشت و منطقی نیست بگیم اصلا نباید در هیچ شرایطی ازش استفاده بشه و منقرض میشه و باید منقرضش کرد.
با فریم ها شما کارهایی میتونید بکنید که با روشهای دیگه نمیشه یا سخت تر و هزینه برتر هست تا انجام بشن. هرچند این کاربردها ممکنه در وب خیلی کم باشن اما تسلط و توان استفاده از این ویژگیها واقعا گره از کار آدم رو در بعضی جاها باز میکنه. در بعضی کاربردهای خاص غیر از وب هم فکر نمیکنم مشکل خاصی درکار باشه.
بهرحال بحث این مطلب بیش از این پیچیده میشه و ضرورتی هم نداره اینقدر وقت و انرژی خودمون رو روش تلف بکنیم و نیاز به مثالهای عملی بیشتری داره تا بحث صرف.
هدف من اینه که ذهن آدم باز و منعطف باشه و از چیزی بدون دلیل تابو درست نکنه. قاعدهء مطلقا کلی و خطاناپذیری تقریبا هیچوقت وجود نداره. این به نیازها و شرایط ما برمیگرده که بخوایم از چه ابزاری چه استفاده ای بکنیم.
اگر میگیم چیزی بده باید دقیقا بگیم چرا و تحلیلش کنیم و در عین حال کاربردهای مفید یا اونایی که نمیشه درموردشون به همین راحتی قضاوت کرد رو هم ذکر کنیم تا با دید باز از هرچیزی به وقت خودش استفاده کنیم.