मेरे लिए छोटा सुंदर है इसलिए मैं इस तकनीक का उपयोग कर रहा हूं:
CSS फ़ाइल में:
/* Smartphones ----------- */
@media only screen and (max-width: 760px) {
#some-element { display: none; }
}
JQuery / जावास्क्रिप्ट फ़ाइल में:
$( document ).ready(function() {
var is_mobile = false;
if( $('#some-element').css('display')=='none') {
is_mobile = true;
}
// now i can use is_mobile to run javascript conditionally
if (is_mobile == true) {
//Conditional script here
}
});
मेरा उद्देश्य मेरी साइट "मोबाइल फ्रेंडली" होना था। इसलिए मैं CSS Media Queries का उपयोग स्क्रीन साइज़ के आधार पर तत्वों को दिखाने / छिपाने के लिए करता हूँ।
उदाहरण के लिए, अपने मोबाइल संस्करण में मैं फेसबुक लाइक बॉक्स को सक्रिय नहीं करना चाहता, क्योंकि यह उन सभी प्रोफाइल छवियों और सामान को लोड करता है। और यह मोबाइल आगंतुकों के लिए अच्छा नहीं है। इसलिए, कंटेनर तत्व को छिपाने के अलावा, मैं इसे jQuery कोड ब्लॉक के अंदर भी करता हूं (ऊपर):
if(!is_mobile) {
(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/pt_PT/all.js#xfbml=1&appId=210731252294735";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
}
आप इसे http://lisboaautentica.com पर कार्रवाई में देख सकते हैं
मैं अभी भी मोबाइल संस्करण पर काम कर रहा हूं, इसलिए यह अभी भी वैसा नहीं दिख रहा है जैसा कि यह लिखना चाहिए।
Dekin88 द्वारा अद्यतन
मीडिया का पता लगाने के लिए एक जावास्क्रिप्ट एपीआई बनाया गया है। उपरोक्त समाधान का उपयोग करने के बजाय बस निम्नलिखित का उपयोग करें:
$(function() {
let isMobile = window.matchMedia("only screen and (max-width: 760px)").matches;
if (isMobile) {
//Conditional script here
}
});
ब्राउज़र का समर्थन करता है: http://caniuse.com/#feat=matchmedia
इस पद्धति का लाभ यह है कि यह न केवल सरल और कम है, लेकिन आप सशर्त रूप से अलग-अलग उपकरणों जैसे स्मार्टफोन और टैबलेट को लक्षित कर सकते हैं यदि आवश्यक हो तो बिना किसी डमी तत्वों को डोम में जोड़े।