ٹوکری موڈ میں براؤز ڈالنے کے لئے ڈیوٹائپ چھوڑ دو
اگر آپ چند مہینوں سے زیادہ ویب صفحات تیار کر رہے ہیں، تو آپ سب سے زیادہ ممکنہ طور پر اس صفحے کو لکھنے میں دشواری کے بارے میں آگاہ ہیں جو تمام براؤزرز میں ہی نظر آتے ہیں . حقیقت میں، یہ ناممکن ہے. بہت سے براؤزر خصوصی خصوصیات کے ساتھ لکھے گئے تھے جو صرف وہ سنبھال سکتے تھے. یا ان چیزوں کو سنبھالنے کے خاص طریقے ہیں جو دوسرے براؤزر کو کیسے سنبھالتے ہیں اس سے مختلف ہیں. مثال کے طور پر:
- نیٹ ورکس براؤزرز میں استعمال کے لۓ پرتوں کو تخلیق کیا گیا تھا. وہ کسی دوسرے براؤزر میں کام نہیں کرتے ہیں، اور حقیقت میں نیسسکیس 6.x + میں خارج کر دیا گیا ہے.
- ان لائن فریم اصل میں انٹرنیٹ ایکسپلورر کے لئے تخلیق کیے گئے تھے، اور اس کے بعد سے ایچ ٹی ایم ایل کی تفصیلات کا حصہ بن گیا ہے.
- انٹرنیٹ ایکسپلورر 6.0 اضافی جگہ (جیسے
) کے ارد گرد کے ٹیگ، جب تک آپ سب ایک (لمبی) لائن پر ڈوی کی مواد لکھتے ہیں. (IE 6 بہت زیادہ نرخوں اور اس کے ساتھ ساتھ ہے.) - Netscpe 4.7 اس ٹیبلز کو ظاہر نہیں کرے گا جو صحیح ایچ ٹی ایم ایل میں لکھا نہیں ہے - اس کے بجائے یہ ایک خالی صفحہ دکھاتا ہے. یہ نیٹ ورکس 6 میں مقرر کیا گیا تھا.
براؤزر ڈویلپرز کے لئے مسئلہ یہ ہے کہ انہیں ویب براؤزر بنانا پڑا ہے جو بڑے براؤزرز کے لئے تیار ویب صفحات کے ساتھ مطابقت پذیر ہیں. اس مسئلے سے نمٹنے کے لئے، براؤزر سازوں کو براؤزرز کے لئے کام کرنے میں موڈ بنائے گئے ہیں. یہ طریقوں DOCTYPE عنصر کی موجودگی یا غیر موجودگی کی طرف سے تعریف کی جاتی ہیں اور یہ کہ DOCTYPE کالز.
DOCTYPE سوئچنگ اور "Quirks موڈ"
اگر آپ مندرجہ ذیل DOCTYPE اپنے ویب صفحے میں ڈالتے ہیں تو:
جدید براؤزر (لوڈ، اتارنا Android 1+، کروم 1+، IE 6+، iOS 1+، فائر فاکس 1+، نیٹٹسکی 6+، اوپیرا 6+، صفاری 1+) مندرجہ ذیل فیشن میں اس کی تشریح کرے گا:
- کیونکہ وہاں صحیح طریقے سے لکھا گیا ہے DOCTYPE، یہ معیار کے موڈ کو چلاتا ہے.
- یہ HTML 4.01 انتقالی دستاویز ہے
- کیونکہ یہ معیاری موڈ میں ہے، زیادہ تر براؤزرز مواد کے مطابق (یا زیادہ تر تعمیل) HTML 4.01 کے ساتھ انتقام فراہم کرے گا
اور اگر آپ اس دستاویز کو اپنے دستاویز میں ڈالتے ہیں تو:
اس جدید براؤزر کو بتاتا ہے کہ آپ اپنے HTML 4.01 صفحہ کو ڈی ٹی ڈی کے ساتھ سخت تعمیل میں ظاہر کرنا چاہتے ہیں.
یہ براؤزر "سخت" یا "معیار" موڈ میں جائیں گے اور اس صفحے کو معیار کے مطابق تعمیل کریں گے. (لہذا، اس دستاویز کے لئے، براؤزر کی طرف سے مکمل طور پر نظر انداز کر کے ٹیگ، کیونکہ FONT عنصر ایچ ٹی ایم ایل 4.01 میں خراب ہو گیا ہے.)
اگر آپ DOCTYPE کو مکمل طور پر چھوڑ دیں تو، براؤزر خود کار طریقے سے "quirks" موڈ میں لاتعداد ہو جاتے ہیں.
مندرجہ ذیل ٹیبل سے پتہ چلتا ہے کہ عام براؤزر کس طرح مختلف عام DOCTYPE بیانات کے ساتھ پیش کرتے ہیں.
مائیکروسافٹ یہ مشکل بناتا ہے
انٹرنیٹ ایکسپلورر 6 میں بھی یہ خصوصیت ہے کہ اگر آپ DOCTYPE کے اعلان سے اوپر کچھ بھی کرتے ہیں، تو وہ نرخوں کے موڈ میں جائیں گے. لہذا، دونوں مثالوں میں IE 6 کو نرخوں کے موڈ میں ڈال دیا جائے گا، اگرچہ DOCTYPE اعلانات کا کہنا ہے کہ سخت معیاری موڈ میں ہو:
اور XHTML 1.1 DOCTYPE:
پلس، اگر آپ IE6 حاصل کرتے ہیں، تو آپ کے پاس "خصوصیت" ہے جو مائیکروسافٹ نے IE8 اور IE9 میں شامل کیا ہے: میٹا عنصر سوئچنگ اور ویب سائٹ بلیک لسٹنگ. دراصل، یہ دو براؤزر کے ورژن اب سات تک ہیں (!) مختلف طریقوں:
- IE 5.5 نردجیکرن موڈ (IE 8 اور 9)
- IE 7 معیار موڈ (IE 8 اور 9)
- IE 8 تقریبا معیار موڈ (IE 8 اور 9)
- IE 8 معیار موڈ (IE 8 اور 9)
- IE 9 تقریبا معیار کے موڈ (IE 9)
- IE 9 معیار موڈ (IE 9)
- XML موڈ (IE 9)
IE 8 نے بھی "مطابقت موڈ" متعارف کرایا جہاں صارف IE 7 موڈ پر رینڈرنگ ماڈل تبدیل کرنے کا انتخاب کرسکتا ہے. لہذا اگر آپ وضع کرتے ہیں کہ اگر آپ DOCTYPE اور میٹا عناصر دونوں کو استعمال کرنے کے لئے مقرر کرنا چاہتے ہیں تو، آپ کا صفحہ ابھی بھی کم معیار کے مطابق ہوسکتا ہے.
نرخ موڈ کیا ہے؟
سوالات موڈ کو تمام عجیب انجام دینے اور غیر تعمیل براؤزر کی حمایت اور ہیک سے نمٹنے میں مدد کرنے کے لئے تخلیق کیا گیا تھا جو ویب ڈیزائنرز ان چیزوں سے نمٹنے کے لئے استعمال کررہے تھے. اس بات کا خدشہ ہے کہ براؤزر کے مینوفیکچررز یہ تھا کہ اگر وہ اپنے براؤزر کو مکمل تفصیلات کے اطاعت کے دوران تبدیل کر دیں تو، ویب ڈیزائنرز پیچھے پیچھے آئیں گے.
DOCTYPE سوئچنگ اور "Quirks Mode" کو ترتیب دینے سے اس نے ویب ڈویلپرز کو یہ انتخاب کرنے کی اجازت دی کہ براؤزر کو اپنے HTML کو کس طرح پیش کرنا چاہتے ہیں.
قارئین موڈ اثرات
بہت سے اثرات ہیں جو اکثر براؤزرز کو نرخوں میں استعمال کرتے ہیں.
- کچھ براؤزروں میں، باکس ماڈل ماڈل نمبر کے IE 5.5 ورژن نرخوں میں موڈ میں تبدیل ہوتی ہے.
- کچھ براؤزر ٹیبل میں شیلیوں کا وارث نہیں کرتے ہیں
- نرخوں کا موڈ ڈرامائی طور پر سی ایس ایس اور سی ایس ایس کی ترتیب کے پیرس پر اثر انداز کرتا ہے، اگر آپ کو نرخ سے معیاری موڈ پر صفحات تبدیل کر رہے ہیں، تو آپ اپنے سی ایس ایس کی ترتیب کی آزمائش اور بڑے پیمانے پر پھانسی کا یقین کریں.
- جب نردجیکرن موڈ میں سکرپٹ میں تبدیلیاں دیکھیں. فائر فاکس کو مثلا ID کی شناخت کا کام تبدیل کرتا ہے، مثال کے طور پر. IE8 اور IE9 کے نردجیکرن میں بہت ساری ڈرامائی تبدیلییں ہیں.
"معیاری موڈ" میں بھی فرق ہے:
- صرف تصاویر کے ساتھ میز کے خلیوں کی اونچائی معیاری موڈ سے مختلف ہوتی ہے.
DOCTYPE منتخب کریں
میں اپنے مضمون میں DOCTYPE کی فہرست میں زیادہ تفصیل میں جا سکتا ہوں، لیکن یہاں انگوٹھے کے کچھ عام اصول ہیں:
- ہمیشہ سب سے پہلے معیار کے موڈ کا انتخاب کریں. اور موجودہ معیار آپ کو استعمال کرنا چاہئے HTML5 ہے: جب تک آپ کو HTML5 DOCTYPE کا استعمال کرنے سے بچنے کے لۓ مخصوص وجہ نہیں ہے، تو یہ وہی ہے جو آپ کو استعمال کرنا چاہئے.
- سخت HTML 4.01 پر جائیں اگر آپ کو میراث عناصر کو درست کرنے کی ضرورت ہے یا کسی وجہ سے نئی خصوصیات سے بچنے کی ضرورت ہے تو:
- اگر آپ نے میز میں ٹکڑے ٹکڑے کی تصاویر ہیں اور ان کو ٹھیک کرنے کے لئے نہیں کرنا چاہتے ہیں تو، منتقلی HTML 4.01 پر جائیں:
- صفحات کے بارے میں جان بوجھ کر نرخوں میں نہیں لکھنا. ہمیشہ DOCTYPE کا استعمال کریں. یہ مستقبل میں ترقیاتی وقت پر آپ کو بچائے گا، اور واقعی میں کوئی فائدہ نہیں ہوگا. IE6 تیزی سے مقبولیت سے محروم ہوجاتا ہے اور اس براؤزر کے لئے ڈیزائن کرنے کی طرف سے (جو بنیادی طور پر نرخوں میں ڈیزائن کیا جاتا ہے) آپ اپنے آپ، اپنے قارئین اور اپنے صفحات کو محدود کر رہے ہیں. اگر آپ IE 6 یا 7 کے لئے لکھتے ہیں تو پھر قارئین موڈ میں جدید براؤزرز کو مجبور کرنے کے بجائے ان کی حمایت کرنے کے لئے مشروط تبصرے استعمال کریں.
DOCTYPE کا استعمال کیوں کریں
ایک بار جب آپ اس طرح کے DOCTYPE سوئچنگ کے بارے میں آگاہ ہو جاتے ہیں، تو آپ اپنے DOCTYPE کا استعمال کرتے ہوئے اپنے براہ راست صفحات کو براہ راست متاثر کرسکتے ہیں جو اس بات کا اشارہ کرتا ہے کہ براؤزر آپکے صفحے سے کیا کر سکتا ہے. اس کے علاوہ، آپ کو DOCTYPE کا استعمال کرتے ہوئے ایک بار، آپ ایچ ٹی ایم ایل لکھیں گے جو درست ہونے کے قریب ہے (آپ کو ابھی بھی اس کی توثیق کرنا چاہئے). اور درست XHTML لکھنا، آپ براؤزر سازوں کو معیار کے مطابق براؤزر بنانے کے لئے حوصلہ افزائی کرتے ہیں.
براؤزر ورژن اور نردجیکرن موڈ
DOCTYPE | لوڈ، اتارنا Android کروم فائر فاکس IE 8+ iOS اوپیرا 7.5 + سفاری | IE 6 IE 7 اوپیرا 7 | نیٹٹسکی 6 |
---|---|---|---|
کوئی بھی نہیں | قارئین موڈ | قارئین موڈ | قارئین موڈ |
ایچ ٹی ایم ایل 3.2 | |||
قارئین موڈ | قارئین موڈ | قارئین موڈ | |
ایچ ٹی ایم ایل 4.01 | |||
انتقام | معیار کے موڈ * | معیار کے موڈ * | معیار کے موڈ |
انتقام | قارئین موڈ | قارئین موڈ | قارئین موڈ |
سخت | معیار کے موڈ | معیار کے موڈ * | معیار کے موڈ |
سخت | معیار کے موڈ | معیار کے موڈ * | معیار کے موڈ |
HTML5 | |||
معیار کے موڈ | معیار کے موڈ * | قارئین موڈ | |
* اس DOCTYPE کے ساتھ، براؤزر معیاری مطابق کے قریب ہیں، لیکن کچھ مسائل ہیں- جانچ کرنے کے لئے یقینی بنائیں. یہ "تقریبا معیار کے موڈ" کے طور پر بھی جانا جاتا ہے. |