2014-06-13 8 views
5

की अनुकूलता का पता लगाने मैं नए टैग इस तरह की एक विधि का उपयोग कर .मैं (jQuery के साथ) की अनुकूलता कैसे पता लगा सकते हैं:नए HTML5 टैग <mark>

var $mark = $('<mark>'); 
$mark.appendTo('html'); 
var bg = $mark.css('background'); 
if (/rgb\(255\, 255\, 0\)/.test(bg)) return true; 
else return false; 

लेकिन समस्या यह अवास्तविक लौटाते है रात में फ़ायरफ़ॉक्स, यहां तक ​​कि यह समर्थित है। मैं मार्क तत्व का निरीक्षण करता हूं, पाया कि अन्य ब्राउज़रों (क्रोम, सफारी) स्वचालित रूप से इस टैग के लिए एक शैली जोड़ देंगे जिसमें पृष्ठभूमि-रंग और रंग शामिल होगा।

enter image description here

दुर्भाग्य से फ़ायरफ़ॉक्स टैग क्या क्रोम और सफारी करना के लिए शैली को जोड़ने नहीं किया है। लेकिन टैग में पीले रंग की पृष्ठभूमि भी है।

enter image description here enter image description here

तो मैं उलझन में है कि यह कैसे पीला हो सकता है, हालांकि कोई अन्य शैली से जोड़ रहे है हूँ। और क्या किसी के पास ब्राउज़र में इसकी संगतता का पता लगाने का ठोस तरीका है? धन्यवाद।

+0

दिलचस्प। मेरा पहला विचार, जाहिर है, यह था कि फ़ायरफ़ॉक्स ने गलत स्थिति में एक निशान डालने के साथ सहयोग करने से इंकार कर दिया, लेकिन त्रुटि को ठीक करने के बाद भी, यह अभी भी झूठा कहता है। मुझे और जांच करनी होगी। –

उत्तर

3

आपकी दिनचर्या के साथ समस्या यह है कि फ़ायरफ़ॉक्स उस संदर्भ में background जैसे शॉर्टेंड गुणों का उपयोग नहीं कर सकता है।

समाधान: backgroundColor का उपयोग करें।

var $mark = $('<mark>'); 
$mark.appendTo('body'); 
var bg = $mark.css('backgroundColor'); 
if (/rgb\(255\, 255\, 0\)/.test(bg)) return true; 
else return false; 

यह फ़ायरफ़ॉक्स और क्रोम में काम करेगा।

JSFiddle देखें।

नोट, हालांकि, <mark> को औपचारिक रूप से पीले रंग के पृष्ठभूमि के रूप में परिभाषित नहीं किया गया है। तथ्य यह है कि सभी ब्राउज़र वर्तमान में इसे इस तरह प्रदर्शित करते हैं, इसका मतलब यह नहीं है कि भविष्य में काम करना जारी रखने की गारंटी है।

+0

मेरे लिए काम करता है। आप सही हैं, ब्राउज़र डिस्प्ले बदल सकते हैं। यह बस काम करता है। लेकिन यह बिना किसी अतिरिक्त शैली के पीले रंग को दिखाता है। –