ترفندهای حرفه ای و پیشرفته Front End (جلسه 12) : قرار دادن لینکی در link دیگر - قسمت 2

- visibility ۰ mode_comment

در این جلسه با یه ترفند حرفه ای و پیشرفته دیگه در خدمتتون هستیم و امیدواریم که بتونید از اون استفاده کنید.nested links

همونطور که میدونید در جلسه قبل با استفاده از تگ Object، لینکی رو در link دیگه قرار دادیم و اونا رو تو در تو کردیم. حالا میخایم بررسی کنیم که چرا این کار انجام میشه. object دقیقا چی هست؟ این موارد، جزئیات خارجی هستن که نوع اونا با استفاده از ویژگی type مشخص میشه و محتویات اون درون ویژگی data قرار میگیره. بخاطر اینکه مرورگر Firefox، تگهای Object که مشکل داشته باشن رو نمایش نمیده و بیخیالشون میشه، ما اومدیم و یک type برابر با lol/wut که اصلا وجود نداره رو قرار دادیم. با اینکار Firefox اونو نمایش میده و مشکلش حل میشه. هر چیزی که درون تگ Object قرار بگیره مثل یک Fallback یا پشتیبان عمل میکنه و زمانی که مرورگر نتونه تگ Object رو نمایش بده و اونو تجزیه و تحلیل کنه، چیزهایی که درون اون قرار گرفتن رو بجای اون نمایش میده. در اینجا هم چون ما از نوع lol/wut استفاده کردیم و این مورد ناشناخته هست، مرورگر اون رو نمیشناسه و محتویات اون رو نمایش میده. همونطور که میدونین محتویات تگ Object یک link هست و ما به هدفمون میرسیم. همونطور که دیدید با استفاده از یک ترفند ساده و حرفه ای، لینکهامون رو درون لینکهای دیگه با استفاده از تگ object قرار دادیم.

پشتیبانی مرورگرها:

همه مرورگرها مواردی که در بالا گفته شد رو پشتیبانی نمیکنن. مرورگرهای زیر از این مورد پشتیبانی میکنن:

  • مرورگر Internet Explorer از نسخه 9 به بعد
  • مرورگر Firefox از نسخه 4 به بعد
  • مرورگر Opera از نسخه 9 به بعد
  • مرورگر Safari از 5.1 به بعد
  • مرورگر Chrome از 14 به بعد

میبینید که تقریبا همه مرورگرهایی که وجود دارن از ویژگی مورد نظر پشتیبانی نمیکنن و تنها دردسری که وجود داره، مثل همیشه مرورگر IE هست. ما در اینجا باید کاری کنیم که مرورگرهای قدیمی Internet Explorer از این ویژگی پشتیبانی کنن.

نسخه های قدیمی Internet Explorer:

برای مرورگرهای قدیمی Internet Explorer راه خاصی وجود نداره. تنها کاری که میتونیم بکنیم اینه که فقط برای مرورگرهای جدید IE این لینکهای تودرتو رو قرار بدیم. این کار رو با استفاده از تگهای شرطی انجام میدیم. کد زیر رو در نظر بگیرید:

اگر قبل از اینکه این کارو انجام بدیم، کد رو در مرورگر باز کنیم، بصورت زیر خواهد شد:nested links 4

بعد از اینکار اگر مجددا در مرورگر باز کنیم، بصورت زیر خواهد شد:nested links 5

درسته که لینک تو در تو نیس ولی حداقل ظاهرش خوبه.

شاید با خودتون بگید که این روش معتبر و Valid هست؟ بدلیل این که ما ویژگی های Object که ضروری هستن رو مشخص نکردیم، معتبر نیست. میتونین در این لینک بیشتر در مورد این ترفند مطالعه کنید.

امیدوارم از این مطلب خوشتون اومده باشه.

موفق باشید

یا علی

Source

comment دیدگاه کاربران

نیاز به لاگین

برای ارسال دیدگاه و یا پرسیدن سوال خود در این قسمت، باید در سایت لاگین شوید.