প্রথমত, একটি দাবি অস্বীকার। আমি নীচে আমি যে সমাধানটি উপস্থাপন করেছি তার পক্ষে সত্যই আমি সমর্থন করি না। আমি লিখি কেবল ব্রাউজার নির্দিষ্ট সিএসএস হ'ল আইই (বিশেষত আই 6), যদিও আমার ইচ্ছা যদি এটি না হয়।
এখন, সমাধান। আপনি এটিকে মার্জিত হতে বলেছিলেন তাই আমি জানি না এটি কত মার্জিত তবে এটি নিশ্চিত যে কেবল গেকো প্ল্যাটফর্মকেই টার্গেট করে চলেছে।
কৌশলটি কেবল তখনই কাজ করছে যখন জাভাস্ক্রিপ্ট সক্ষম করা থাকে এবং মজিলা বাইন্ডিংগুলি ( এক্সবিএল) ব্যবহার করে ) ব্যবহার করে, যা ফায়ারফক্স এবং অন্যান্য সমস্ত গেকো ভিত্তিক পণ্যগুলিতে অভ্যন্তরীণভাবে ব্যবহৃত হয়। তুলনার জন্য, এটি আইই এর আচরণ সিএসএস সম্পত্তি মত, তবে অনেক বেশি শক্তিশালী।
তিনটি ফাইল আমার সমাধানে জড়িত:
- ff.html: স্টাইল থেকে ফাইল
- ff.xML: গেকো বাইন্ডিংগুলি সংযুক্ত করে ফাইল
- ff.css: ফায়ারফক্স নির্দিষ্ট স্টাইলিং
ff.html
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
body {
-moz-binding: url(ff.xml#load-mozilla-css);
}
</style>
</head>
<body>
<h1>This should be red in FF</h1>
</body>
</html>
ff.xml
<?xml version="1.0"?>
<bindings xmlns="http://www.mozilla.org/xbl">
<binding id="load-mozilla-css">
<implementation>
<constructor>
<![CDATA[
var link = document.createElement("link");
link.setAttribute("rel", "stylesheet");
link.setAttribute("type", "text/css");
link.setAttribute("href", "ff.css");
document.getElementsByTagName("head")[0]
.appendChild(link);
]]>
</constructor>
</implementation>
</binding>
</bindings>
ff.css
h1 {
color: red;
}
আপডেট:
উপরের সমাধানটি তেমন ভাল নয়। এটা ভাল যদি এর পরিবর্তে একটি নতুন লিঙ্ক উপাদান যোগ করা হবে সংযোজন অন্তর্ভুক্ত হয়ে যেতাম যে শরীরের উপাদান এ "ফায়ারফক্স" শ্রেণী। উপরের জেএসের পরিবর্তে কেবল নিম্নলিখিতটি দিয়ে এটি সম্ভব:
this.className += " firefox";
সমাধানটি ডিন এডওয়ার্ডসের মোজ-আচরণ থেকে অনুপ্রাণিত হয় ।