শরীরের ক্লোজিং ট্যাগের পরে স্ক্রিপ্ট ট্যাগ স্থাপন করা কতটা ভুল </body>। ?
<html>
....
<body>
....
</body>
<script type="text/javascript" src="theJs.js"></script>
</html>
শরীরের ক্লোজিং ট্যাগের পরে স্ক্রিপ্ট ট্যাগ স্থাপন করা কতটা ভুল </body>। ?
<html>
....
<body>
....
</body>
<script type="text/javascript" src="theJs.js"></script>
</html>
উত্তর:
এটি বা ট্যাগগুলির বাইরে বৈধতা পাবে না । এটি খুব বেশি তাত্পর্যপূর্ণ করবে না - যদি না আপনি DOM ম্যানিপুলেশনগুলি করেন যা শরীরের উপাদান পুরোপুরি লোড হওয়ার আগে আইই ভাঙ্গতে পারে - এটি বন্ধ হওয়ার ঠিক আগে রেখে দেওয়া ।<body><head></body>
<html>
....
<body>
....
<script type="text/javascript" src="theJs.js"></script>
</body>
</html>
<script src="..." defer>, যা সমস্ত বড় ব্রাউজারগুলিতে কাজ করে (যদিও আইই 9 এবং তলদেশে সম্ভাব্য ব্রেকিং বাগ সহ)।
হ্যাঁ. শরীরের জন্য শেষ ট্যাগের পরে কেবলমাত্র মন্তব্য এবং এইচটিএমএল উপাদানটির জন্য শেষ ট্যাগকে মঞ্জুরি দেওয়া হয়।
ব্রাউজারগুলি ত্রুটি পুনরুদ্ধার করতে পারে, তবে আপনার কখনই তার উপর নির্ভর করা উচিত নয়।
অ্যান্ডি যেমন বলেছেন যে নথিটি বৈধ হবে না, তবে তবুও স্ক্রিপ্টটি ব্যাখ্যা করা হবে। উদাহরণস্বরূপ ওয়েবকিট থেকে স্নিপেট দেখুন :
void HTMLParser::processCloseTag(Token* t)
{
// Support for really broken html.
// we never close the body tag, since some stupid web pages close it before
// the actual end of the doc.
// let's rely on the end() call to close things.
if (t->tagName == htmlTag || t->tagName == bodyTag
|| t->tagName == commentAtom)
return;
...
আইই এটি আর অনুমতি দেয় না (যেহেতু সংস্করণ 10, আমি বিশ্বাস করি) এবং এই জাতীয় স্ক্রিপ্টগুলি উপেক্ষা করবে। এফএফ এবং ক্রোম এখনও তাদের সহ্য করে, তবে এমন কোনও সম্ভাবনা রয়েছে যে কোনও দিন তারা এটিকে মানহীন হিসাবে ফেলে দেবে।
পদ্ধতিগতভাবে "এলিমেন্ট বডি" পরে "এলিমেন্ট স্ক্রিপ্ট" সন্নিবেশ করা W3C দ্বারা প্রস্তাবিত প্রক্রিয়া দ্বারা "পার্স ত্রুটি" হয় । "ট্রি কনস্ট্রাকশন" এ ত্রুটি তৈরি করুন এবং সেই সামগ্রীটি প্রক্রিয়া করতে "আবার টোকেনাইজ করুন" চালান। সুতরাং এটি অতিরিক্ত পদক্ষেপ মত। তারপরেই "স্ক্রিপ্ট এক্সিকিউশন" চালানো যেতে পারে - স্কিম প্রক্রিয়াটি দেখুন ।
অন্য কিছু "পার্স ত্রুটি"। "সন্নিবেশ মোড" কে "দেহে" স্যুইচ করুন এবং টোকেনটি পুনরায় প্রসেস করুন।
প্রযুক্তিগতভাবে ব্রাউজারের মাধ্যমে এটি অভ্যন্তরীণ প্রক্রিয়া, কীভাবে তারা এটিকে চিহ্নিত করে এবং এটি অপ্টিমাইজ করে।
আমি আশা করি আমি কাউকে সাহায্য করেছি
হ্যাঁ. তবে আপনি যদি এর বাইরে কোড যুক্ত করেন তবে সম্ভবত বিশ্বের শেষ হবে না যেহেতু বেশিরভাগ ব্রাউজারগুলি এটি ঠিক করে দেবে, তবে এটি প্রবেশ করা এখনও খারাপ অভ্যাস is
গুগল আসলে এটি 'সিএসএস অপ্টিমাইজেশন' এর ক্ষেত্রে সুপারিশ করে। তারা উপরে-ভাঁজ শৈলীর সমালোচনামূলকভাবে ইন-আস্তরণ এবং বাকি (সিএসএস ফাইল) মুলতুবি করার পরামর্শ দেয়।
উদাহরণ:
<html>
<head>
<style>
.blue{color:blue;}
</style>
</head>
<body>
<div class="blue">
Hello, world!
</div>
</body>
</html>
<noscript><link rel="stylesheet" href="small.css"></noscript>
দেখুন: https://developers.google.com/speed/docs/insights/OptimizeCSSDelivery
bodyউপাদানটির বাইরে জিনিস রাখার কথা নয় । গুগল নিবন্ধটি কাউকে এ জাতীয় কোনও কাজ করার পরামর্শ দেয় না।
আধুনিক ব্রাউজারগুলি এর মতো শরীরে স্ক্রিপ্ট ট্যাগ নেবে:
<body>
<script src="scripts/main.js"></script>
</body>
মূলত, এর অর্থ হ'ল পৃষ্ঠাটি শেষ হয়ে গেলে স্ক্রিপ্টটি লোড হয়ে যাবে, যা নির্দিষ্ট ক্ষেত্রে (যেমন DOM ম্যানিপুলেশন) কার্যকর হতে পারে। তবে, আমি আপনাকে একই স্ক্রিপ্টটি গ্রহণ এবং "ডিফার" দিয়ে এটি হেড ট্যাগে রাখার সুপারিশ করছি, কারণ এটি একই প্রভাব দেবে।
<head>
<script src="scripts/main.js" defer></script>
</head>
scriptট্যাগ একটি ছিল eventঅ্যাট্রিবিউট যে যখন স্ক্রিপ্ট বিশ্লেষণ করতে নির্ধারণ সংজ্ঞায়িত করা যেতে পারে। সুতরাং আপনার event="load" event="DOMContentLoaded"স্ক্রিপ্টটি DOM তৈরির পরে বা event="beforeunload"উইন্ডো beforeunloadইভেন্টে চালানোর জন্য রয়েছে । উদাহরণ <script src="scripts/main.js" event="DOMContentLoaded"></script>,।