আপনার কি এইচটিএমএলতে মেটা এবং লিঙ্ক ট্যাগগুলি বন্ধ করতে হবে?


133

আমি কেবল কারও এইচটিএমএল পড়ছিলাম যে এইচটিএমএল প্রধান বিভাগে কখনও মেটা এবং লিঙ্ক ট্যাগ বন্ধ করে দেয় না। কোডটি ভাল কাজ করেছে; এই ট্যাগগুলি closingচ্ছিকভাবে বন্ধ করে দিচ্ছেন?

আমি ভেবেছিলাম কোনও ট্যাগ বন্ধ না করা হলে এটি ত্রুটিযুক্ত হবে।

উত্তর:


167

একটি ট্যাগ সর্বদা ট্যাগ বন্ধের চিহ্ন দ্বারা বন্ধ করা আবশ্যক >(যদি আমরা কিছু এসজিএমএল বিধি উপেক্ষা করি যেগুলি নামহীন- এক্সএইচটিএমএল এইচটিএমএলে প্রয়োগ হয় তবে ব্রাউজারগুলিতে কখনও প্রয়োগ করা হয়নি)।

আপনি যা বলতে চাইছেন তা হ'ল উপাদানগুলি শেষ ট্যাগ দ্বারা বন্ধ করা দরকার কিনা । উত্তর অ-এক্সএইচটিএমএল এইচটিএমএল (HTML এর ধারাবাহিকতাতে এ HTML5 সহ) কোন শেষ ট্যাগ প্রয়োজনীয় বা জন্য অনুমোদিত হয় metaএবং linkউপাদান। বাস্তবে, তবে, ব্রাউজারগুলি কেবল তাদের জন্য স্পষ্ট প্রান্তের ট্যাগগুলি, পাশাপাশি কার্গো-কাল্টকে /আগে উপেক্ষা করে >যদি আপনি সেগুলি ব্যবহার করেন ignore এবং এইচটিএমএল 5 এমনকি /এইচটিএমএল সিরিয়ালাইজেশনকে আনুষ্ঠানিকভাবে অনুমতি দিয়েও এই অনুমতিটিকে একটি নিয়ম করে তোলে ।

এক্সএইচটিএমএল সালে এক্সএমএল বিধি, প্রয়োগ তাই উপাদান, ব্যতিক্রম ছাড়া, উভয় একটি স্টার্ট ট্যাগ এবং শেষ ট্যাগের থাকতে হবে, কিন্তু একই ট্যাগ উভয় ভূমিকা জন্য ব্যবহার করা যেতে পারে উপাদান বিষয়বস্তু, খালি যেমন <meta name="foo" content="bar"/>স্বল্প যেমন <meta name="foo" content="bar"></meta>। যদি আপনি একটি কনফার্মিং ব্রাউজারে কোনও এক্সএমএল (এক্সএইচটিএমএল) সামগ্রী প্রকারের সাথে একটি দস্তাবেজ পরিবেশন করার সময় এটি লঙ্ঘন করেন তবে আপনার দস্তাবেজটি একেবারেই প্রদর্শিত হবে না; পরিবর্তে একটি ত্রুটি বার্তা প্রদর্শিত হয়।

এইচটিএমএল কনটেন্ট টাইপ ( Content-Type: text/html) সহ এক্সএইচটিএমএল সার্ভার ব্যবহার করার সময় , এক্সএইচটিএমএল ডকুমেন্টগুলি প্রায়শই ওয়েবে থাকে, তাই ব্রাউজারগুলি আসলে নন-এক্সএইচটিএমএল এইচটিএমএল বিধি প্রয়োগ করে।

সংক্ষেপ:

  • সাধারণত, <meta ...>না দিয়ে শুধু ব্যবহার করুন/
  • আপনি যদি এমন কোনও প্রসঙ্গে XHTML ব্যবহার করছেন যেখানে এক্সএইচটিএমএল পার্সিংটি আসলে প্রয়োগ করা হয়েছে, এক্সএমএল বিধি দ্বারা খেলুন (এবং আপনি সেগুলি জানেন কিনা তা নিশ্চিত করুন)
  • যদি আপনার বস আপনাকে লিখতে বলে তবে <meta ... />তা করুন; এটি কার্যকর নয়, তবে এতে কোনও ক্ষতি হয় না (যদি আপনি এইচটিএমএল ৫.০১ ডকুমেন্টের বিরুদ্ধে যেমন বৈধতা দেওয়ার চেষ্টা করেন তবে))

3
/> ব্যবহার করে এমন সমস্যা দেখা দিয়েছে যেখানে গুগল বট মেটা রোবট ট্যাগকে স্বীকৃতি দেয় না। অদ্ভুত !!!
DevZer0

13
আমি এই প্রসঙ্গে "কার্গো-কাল্ট" শব্দটি অনুপযুক্ত মনে করি। কিছু লোকেরা এই উপাদানগুলিকে বন্ধ করে দেয়, কেবলমাত্র তারা চাপ দেয় যে এক্সএইচটিএমএল প্রবল ছিল না।
মার্কাস

6
প্যাডেন্ট সতর্কতা! "কার্গো কাল্ট" সাধারণ অনুশীলনে হাইফিনেটেড হয় না, তবে কেবল তখন পুরো বাক্যাংশটি অন্য কোনও কিছুর (যেমন, "কার্গো-কাল্ট প্রোগ্রামিং", "কার্গো-কাল্ট /আগে >") বিশেষণ হিসাবে ব্যবহৃত হয় । শুধু ভেবেছি আমি আরও বিভ্রান্তির সাথে ইন্টারনেটের করণীয় এড়াতে স্পষ্ট করব। </pedant_alert>:)
অ্যারন ওয়ালেন্টাইন

1
@ DevZer0 - আপনি কি নিশ্চিত যে স্ল্যাশের কারণ ছিল? আমি Google এর মতো জিনিসগুলির সাথে নমনীয় হওয়ার প্রত্যাশা করব।
সাইমন পূর্ব

3
আপনার এইচটিএমএলকে এক্সএইচটিএমএল এর সাথে সামঞ্জস্য করা কি / পূর্ববর্তী> অন্তর্ভুক্ত করার কোনও কারণ নয়?
কাইল ডেলাানি

28

এটি ডক্টাইপের উপর নির্ভর করে। এইচটিএমএল 5 টি বন্ধ হওয়ার দরকার নেই। এক্সএইচটিএমএল করে।

এইচটিএমএল 5-তে তথাকথিত শূন্য উপাদানসমূহ (যে উপাদানগুলিতে সামগ্রী থাকতে পারে না) তাদের সমাপনের প্রয়োজন হয় না, কারণ তারা স্ব-সমাপন হয়। তবে আপনি যদি এগুলি বন্ধ করেন তবে এটি বৈধ ..

এটি সম্পর্কে এখানে আরও পড়ুন: অকার্যকর-উপাদান


4
এইচটিএমএল 5 এর দুটি সিরিয়ালাইজেশন রয়েছে এবং এর মধ্যে একটি (এক্সএইচটিএমএল সিরিয়ালাইজেশন) শেষ ট্যাগগুলি বাধ্যতামূলক করে।
Jukka K. Korpela
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.