<base>
ট্যাগটি ব্যবহার করবেন কিনা তা সিদ্ধান্ত নেওয়ার আগে আপনাকে বুঝতে হবে যে এটি কীভাবে কাজ করে, কী কী ব্যবহার করা যায় এবং এর কী কী প্রভাব পড়ে এবং অবশেষে সুবিধা / অসুবিধাগুলি ছাড়িয়ে যায় out
<base>
ট্যাগ প্রধানত ভাষায় টেমপ্লেট হিসাবে আপনি বর্তমান প্রেক্ষাপটে সম্পর্কে চিন্তা করতে প্রয়োজন হবে না আপেক্ষিক লিংক তৈরি হওয়া সত্ত্বেও যে লিঙ্কটি ক্লিক করুন।
আপনি উদাহরণস্বরূপ করতে পারেন
<base href="${host}/${context}/${language}/">
...
<link rel="stylesheet" href="css/style.css" />
<script src="js/script.js"></script>
...
<a href="home">home</a>
<a href="faq">faq</a>
<a href="contact">contact</a>
...
<img src="img/logo.png" />
পরিবর্তে
<link rel="stylesheet" href="/${context}/${language}/css/style.css" />
<script src="/${context}/${language}/js/script.js"></script>
...
<a href="/${context}/${language}/home">home</a>
<a href="/${context}/${language}/faq">faq</a>
<a href="/${context}/${language}/contact">contact</a>
...
<img src="/${context}/${language}/img/logo.png" />
দয়া করে মনে রাখবেন যে <base href>
মানটি একটি স্ল্যাশের সাথে শেষ হয়, অন্যথায় এটি শেষ পাথের তুলনায় ব্যাখ্যা করা হবে।
ব্রাউজারের সামঞ্জস্যতা হিসাবে, এটি কেবল আইইতে সমস্যা সৃষ্টি করে। <base>
ট্যাগ HTML হিসাবে উল্লিখিত হয় না শেষ ট্যাগ থাকার </base>
, তাই এটি শুধু ব্যবহারের এর legit <base>
শেষ ট্যাগ ছাড়া। তবে IE6 অন্যথায় মনে করে এবং সমগ্র বিষয়বস্তু পর<base>
ট্যাগ স্থাপন যেমন ক্ষেত্রে রয়েছে শিশু এর <base>
এইচটিএমএল DOM গাছ উপাদান। এটি জাভাস্ক্রিপ্ট / জকিউয়ারি / সিএসএসে প্রথম দৃষ্টিতে অপ্রকাশ্য সমস্যা তৈরি করতে পারে, যেমন নির্দিষ্ট নির্বাচকগুলিতে উপাদানগুলি সম্পূর্ণরূপে অ্যাক্সেসযোগ্য html>body
, যতক্ষণ না আপনি এইচটিএমএল ডিওএম পরিদর্শককে আবিষ্কার করেন যে এর মধ্যে একটি base
(এবং head
) হওয়া উচিত ।
একটি সাধারণ আই fix ফিক্সটি শেষ ট্যাগটি অন্তর্ভুক্ত করার জন্য একটি আইআই শর্তযুক্ত মন্তব্য ব্যবহার করছে:
<base href="http://example.com/en/"><!--[if lte IE 6]></base><![endif]-->
আপনি যদি ডাব্লু 3 বৈধকারকের বিষয়ে চিন্তা করেন না বা আপনি ইতিমধ্যে এইচটিএমএল 5 এ আছেন তবে আপনি কেবল এটি স্ব-বন্ধ করতে পারেন, প্রতিটি ওয়েব ব্রাউজার যেকোনভাবে এটি সমর্থন করে:
<base href="http://example.com/en/" />
<base>
ট্যাগটি বন্ধ করা সঙ্গে সঙ্গে উইনএক্সপি এসপি 3 এর আইই 6 এর উন্মাদাকে তাত্ক্ষণিকভাবে ঠিক করে দেয় একটি অনন্ত লুপে <script>
কোনও সম্পর্কিত ইউআরআইয়ের সাথে সংস্থান করার অনুরোধ করতে src
।
আরেকটি সম্ভাব্য ইন্টারনেট সমস্যা সুস্পষ্ট যখন আপনি একটি আপেক্ষিক কোনো URI ব্যবহার করবে <base>
যেমন ট্যাগ, <base href="https://stackoverflow.com//example.com/somefolder/">
বা <base href="https://stackoverflow.com/somefolder/">
। এটি আই 6/7/8 এ ব্যর্থ হবে। এটি অবশ্য ব্রাউজারের দোষ নয়; <base>
ট্যাগে আপেক্ষিক ইউআরআই ব্যবহার করা এটি নিজের ভুল হিসাবে। শুধুমাত্র HTML4 স্পেসিফিকেশন বলেন যে এটি একটি চরম কোনো URI হওয়া উচিত, এইভাবে দিয়ে শুরু http://
বা https://
প্রকল্প। এই বাদ দেয়া হয়েছে HTML5 এর স্পেসিফিকেশন । সুতরাং আপনি যদি এইচটিএমএল 5 ব্যবহার করেন এবং কেবলমাত্র HTML5- র সামঞ্জস্যপূর্ণ ব্রাউজারগুলি লক্ষ্য করে থাকেন, তবে আপনি <base>
ট্যাগে আপেক্ষিক ইউআরআই ব্যবহার করে ভাল হয়ে উঠুন ।
নামযুক্ত / হ্যাশ টুকরা অ্যাঙ্কারগুলি ব্যবহার করার মতো <a href="#anchor">
, ক্যোরি স্ট্রিং অ্যাঙ্কারগুলি <a href="?foo=bar">
এবং প্যাথ টুকরা অ্যাঙ্কারগুলি পছন্দ <a href=";foo=bar">
করে <base>
ট্যাগ সহ আপনি মূলত kind প্রকারের অ্যাঙ্কর সহ সমস্ত সম্পর্কিত লিঙ্কগুলি সম্পর্কিত বলে ঘোষণা করছেন । আপেক্ষিক লিঙ্কগুলির কোনওটিই এখনকার অনুরোধ ইউআরআইয়ের সাথে তুলনামূলক নয় (যেমন ট্যাগ ছাড়াই হবে )। এটি প্রথমদিকে সূচনাকারীদের জন্য বিভ্রান্তিকর হতে পারে। সেই অ্যাঙ্করগুলি সঠিক উপায়ে তৈরি করতে আপনাকে মূলত ইউআরআই অন্তর্ভুক্ত করতে হবে,<base>
<a href="${uri}#anchor">hash fragment</a>
<a href="${uri}?foo=bar">query string</a>
<a href="${uri};foo=bar">path fragment</a>
যেখানে পিএইচপি, জেএসপি এবং জেএসএফে ${uri}
মূলত অনুবাদ হয় । লক্ষণীয় হওয়া উচিত যে জেএসএফের মতো এমভিসি ফ্রেমওয়ার্কগুলিতে এই সমস্ত বয়লারপ্লেট হ্রাস এবং প্রয়োজনীয়তা সরিয়ে দেওয়ার ট্যাগ রয়েছে । অন্যান্য জেএসএফ পৃষ্ঠাগুলিতে লিঙ্ক / নেভিগেট করতে কোন URL টি ব্যবহার করতে হবে তাও দেখুন ।$_SERVER['REQUEST_URI']
${pageContext.request.requestURI}
#{request.requestURI}
<base>