2012-08-31 17 views
9

एक ग्राहक ने अपनी साइट पर एक प्रिंट बटन जोड़ने के लिए कहा है और इसे उन उपयोगकर्ताओं के लिए छिपाया जाना चाहिए जिनके पास प्रिंट करने की क्षमता नहीं है, उदा। अधिकांश मोबाइल डिवाइस।पता लगाएं कि उपयोगकर्ता की मुद्रण क्षमताएं हैं या नहीं?

क्या क्लाइंट के पास प्रिंटिंग क्षमताओं की पहचान करने के लिए जावास्क्रिप्ट के माध्यम से कोई तरीका है?

+10

एक शब्द में, नहीं। ब्राउज़र को संलग्न उपकरणों के बारे में कुछ भी पता नहीं है।आप निश्चित रूप से बता सकते हैं कि ग्राहक मोबाइल है या नहीं, और मोबाइल उपकरणों के लिए बटन छुपाएं, लेकिन आप उपस्थित प्रिंटर के बारे में कुछ भी नहीं बता सकते हैं। – meagar

+2

क्या यह एक सार्वजनिक इंटरनेट साइट के लिए है (जिस स्थिति में यह असंभव है) या एक निजी इंट्रानेट साइट के लिए? यदि यह इंट्रानेट साइट के लिए है, तो क्या आपको एक विशिष्ट ब्राउज़र की आवश्यकता हो सकती है, और क्या आप प्लगइन इंस्टॉल कर सकते हैं, उदा। ActiveX? –

+1

... और यह जानकर कि एक उपकरण "मोबाइल" बहुत कठिन है, क्योंकि जंगली में डिवाइस प्रजातियों की संख्या हाल ही में इतनी तेजी से बढ़ रही है। – Pointy

उत्तर

0

यदि आपके आवेदन के लिए WURFL रेगेक्स बहुत धीमा है या आप वार्निश, स्क्विड या अन्य कुछ भी उपयोग कर रहे हैं जो आपको WURFL का उपयोग करने की अनुमति नहीं देता है, तो आप बस जेएस (नेविगेटर) के साथ उपयोगकर्ता एजेंट स्ट्रिंग का विश्लेषण करने का प्रयास कर सकते हैं .userAgent) और "आईओएस संस्करण 4+" जैसे कुछ पता लगाएं क्योंकि कम से कम उन उपकरणों में मुद्रण क्षमताएं हैं (जब तक वे नेटवर्क प्रिंटर के साथ नेटवर्क तक पहुंच में हों)। यह एक साधारण समाधान है (लेकिन सभी आईओएस उपकरणों को कभी भी कवर नहीं करेगा क्योंकि उनके पास बहुत अलग उपयोगकर्ता एजेंट स्ट्रिंग हैं)।

आप यहाँ से अधिक उपयोगकर्ता एजेंट स्ट्रिंग के लिए उदाहरण के बहुत सारे पा सकते हैं: http://deviceatlas.com/

1

आवश्यकता त्रुटिपूर्ण के बाद से सबसे अधिक उपयोगकर्ता एजेंट कर सकते हैं "प्रिंट" और चाहे या नहीं एक यूए मुद्रित कर सकते हैं के ज्ञान वेबसाइटों नहीं है व्यापार।

कई मोबाइल ब्राउज़र प्रिंट कर सकते हैं और अधिकांश वेब ब्राउज़र प्रिंट कर सकते हैं भले ही कोई प्रिंटर संलग्न न हो (पीडीएफ, क्लाउड प्रिंट आदि पर प्रिंट करें)। किसी भी उपयोगकर्ता एजेंट के लिए उपयोगकर्ता की जानकारी के बिना इसकी प्रिंटिंग क्षमताओं के बारे में स्पष्ट रूप से कुछ भी बताने के लिए यह एक सुरक्षा समस्या है। प्रिंटिंग स्टाइलशीट यही है (इसलिए वेबसाइट को यह नहीं पता है कि यह प्रिंट किया जा रहा है या नहीं)।

आप क्या कर सकते हैं छोटी स्क्रीन वाले उपयोगकर्ता एजेंटों पर बटन छुपाएं, वे उपयोगकर्ता अभी भी उपयोगकर्ता एजेंट का उपयोग करके अपने दस्तावेज़ प्रिंट कर सकते हैं। आप विशिष्ट उपयोगकर्ता एजेंटों का पता लगा सकते हैं और उनके लिए बटन छुपा सकते हैं।

लिंक

http://www.alistapart.com/articles/return-of-the-mobile-stylesheet: मोबाइल स्टाइलशीट और संबंधित मुद्दों पर चर्चा की।

http://mobile.smashingmagazine.com/2010/11/03/how-to-build-a-mobile-website/#mobile-stylesheets: मोबाइल स्टाइलशीट के बारे में अधिक जानकारी।

बेसिक मोबाइल स्टाइलशीट लगाव:

<link rel="stylesheet" href="mobile.css" media="handheld" />

स्क्रीन आकार से पता लगा रहा:

<link rel="stylesheet" href="mobile.css" media="only screen and (max-device width:480px)"/>

-1

स्पष्टीकरण की युगल। WURFL RegExps का उपयोग नहीं करता है, या कम से कम, इस तरह से नहीं कि टिप्पणी का अर्थ है। RegExps कुछ UAs के लिए शामिल हो सकता है जो विश्लेषण करना मुश्किल है, लेकिन यह केवल प्रत्येक UA के लिए होता है, उसके बाद मैच कैश किया जाता है।

इसके अलावा, साइंटियामोबाइल ने हाल ही में वार्निश कैश, अपाचे और एनजीआईएनएक्स के लिए एक WURFL मॉड्यूल की उपलब्धता की घोषणा की है, इसलिए "नेटवर्क" स्तर पर WURFL का उपयोग करना अब संभव है। http://www.scientiamobile.com/blog/post/view/id/25/title/HTTP-and-Mobile%3A-The-Missing-Header-

अंत में एक अस्वीकरण:

यह पृष्ठ अधिक जानकारी के है मैं इन बातों को जानते हैं, क्योंकि मैं WURFL निर्माता और ScientiaMobile के सीटीओ हूँ।

+1

यह वास्तव में प्रश्न का उत्तर नहीं है; मुझे लगता है कि आप इसे उत्तर पर एक टिप्पणी के रूप में जोड़ना चाहते थे जो WURFL का उल्लेख करता है। – millimoose