2017-02-01 5 views
9

मेरे पास 1920x1280 रिज़ॉल्यूशन के साथ मेरे लैपटॉप और एक भूतल प्रो 3 के लिए 1920x1080 रिज़ॉल्यूशन वाला मॉनीटर है। मैं 1920x1080 और 1920x1280 डिस्प्ले पर पूर्ण-स्क्रीन देखने के लिए डिज़ाइन किया गया एक वेब पेज विकसित कर रहा हूं।वेब पेज पर सतह प्रो 3 की ऊंचाई प्राप्त करें

मैंने प्रत्येक प्रदर्शन के लिए सेटिंग्स की पुष्टि की है (नीचे देखें)।

मुझे 1280 के बजाय 8xx क्यों मिल रहा है? सतह प्रो 3 की रिज़ॉल्यूशन ऊंचाई से मेल खाने के लिए मैं 1280 का मान कैसे प्राप्त कर सकता हूं?


1920x1080 मॉनिटर (Windows 8 पर):

monitor screen resolution

1920x1280 (भूतल प्रो 3) प्रदर्शन (Windows 10 पर):

Surface Pro 3 display


$(window).height() का उपयोग करना

1080

वह मेरे लिए काम करता है: मेरी 1920x1080 मॉनिटर पर, मैं निम्नलिखित मिलता है।


लेकिन, मेरा 1920x1280 (भूतल प्रो 3) प्रदर्शन के लिए this question से सुझाव का उपयोग कर ...

$(window).height() का उपयोग करना:

window

$(document).height() का उपयोग करना:

document

screen.height का उपयोग करना:

screen.height

  • सुझाव का उपयोग करना this answer से:

innerHeight/clientHeight

  • this answer से सुझाव का उपयोग करना:

document.clientHeight

  • सुझाव का उपयोग करना this answer से:

availHeight

innerHeight

  • this answer से इस सुझाव का उपयोग करना:

winsize

  • This suggestion एक प्लगइन की एक स्वयं सिफारिश है। मैं अभी इस पर गुजर जाऊंगा।

  • This suggestion कॉफी समाधान का उपयोग करता है। मैं अब के लिए जावास्क्रिप्ट और jQuery के लिए चिपके रहूंगा।

testSizes

  • This suggestion एक बाहरी पुस्तकालय की आवश्यकता है:

  • this answer से इस सुझाव को (जो कुछ अन्य उत्तर regurgitates) का उपयोग करना। मैं अभी इस पर गुजर जाऊंगा।

  • सुझाव का उपयोग करना से:

scrollHeight

  • This suggestion ऊपर कुछ अन्य उत्तर में शामिल किया गया।

+0

संभावित डुप्लिकेट [स्क्रीन का आकार प्राप्त करें, वर्तमान वेब पेज और ब्राउज़र विंडो] (http://stackoverflow.com/questions/3437786/get-the-size-of-the-screen-current-web- पेज-एंड-ब्राउजर-विंडो) –

+0

@ माइकएमसीकॉन मैंने किसी भी लाभ के लिए [स्वीकृत उत्तर] (http://stackoverflow.com/a/3437825) से हर सुझाव की कोशिश की है। मैं प्रत्येक सुझाए गए सुझाव से परिणामों के साथ प्रश्न अपडेट करूंगा। –

+0

उस प्रश्न पर 14 उत्तर हैं। एक डुप्लिकेट का मतलब यह नहीं है कि केवल स्वीकृत उत्तर ही काम करेगा। –

उत्तर

2

ऐसा लगता है कि आपके भूतल प्रो 3 एक का उपयोग करता है ऑपरेटिंग सिस्टम 150% की व्यापक ज़ूम कारक। इसके कारण ब्राउज़र चौड़ाई 1280 और ऊंचाई 853 (1280 * 1.5 = 1920 और 853 * 1.5 = 1280 के रूप में) देता है। नियंत्रण कक्ष में विंडोज़ 'ज़ूम कारक को 100% पर स्विच करें और आपका ब्राउज़र अपेक्षित के रूप में चौड़ाई और ऊंचाई लौटाएगा।

2

1) मैं भूतल प्रो 3 का संकल्प ऊंचाई मैच के लिए 1280 के एक मूल्य कैसे प्राप्त कर सकते हैं?

आप

window.outerHeight 

की कोशिश की अभी तक है?

मैं आपके परीक्षण मामलों में देखता हूं आंतरिक हाइट। सिर्फ तुम दिखा रहा है यही कारण है कि ब्राउज़र प्रस्तुत करना देगा (पिक्सेल जूम किया जाएगा, आदि .. उपलब्ध चौड़ाई आप वास्तव में है घटते)

2) मैं क्यों मिल रही है 8xx बजाय 1280?

मूल रूप से, ब्राउज़र कई संकल्पों में एक सतत अनुभव देने के लिए टेक्स्ट/छवियों/आदि ज़ूम करेंगे .. भले ही आप इसे 1280 स्क्रीन के लिए बना रहे हों, फिर भी आपके पास आपकी उपलब्धता के लिए 8xx पिक्सल हो सकते हैं।

pixeling मैं सलाह आप पढ़ सकते हैं के बारे में अधिक जानकारी के लिए:

http://www.quirksmode.org/blog/archives/2010/04/a_pixel_is_not.html

+0

मेरे परीक्षण के मामलों को "डुप्लिकेट प्रश्न" से लिया गया था, जिसमें इनमें से कोई भी सुझाव 'बाहरी हाइट' का उपयोग नहीं करता था। 'बाहरी हाइट' मुझे 814 देता है। आपके उत्तर का दूसरा भाग सहायक है ... कारण मैं ऊंचाई (पिक्सेल में) की पहचान करने की कोशिश कर रहा हूं, प्रदर्शन के आधार पर उचित सीएसएस फ़ाइल का चयन करना है। यह केवल ऊंचाई (पिक्सेल में) खोजने से अधिक जटिल लग रहा है। –

+0

मूल रूप से। सटीक ऊंचाई के बारे में भूल जाओ। ब्राउजर आपको जो बताता है उसके साथ जाएं, क्योंकि उपयोगकर्ता यही अनुभव करता है क्योंकि ब्राउज़र उपयोगकर्ताओं की सेटिंग्स के अनुसार "ज़ूम" करता है। जिन उपयोगकर्ताओं ने ज़ूम करने के लिए अपना वैश्विक डेस्कटॉप सेट किया है, वे आपके ऐप को अन्यथा तोड़ देंगे: http://www.windowscentral.com/how-make-text-apps-bigger-windows-10 – Tschallacka

+0

दाएं। इसका मतलब है कि मुझे अलग-अलग तरीके से प्रदर्शित होने वाले डिस्प्ले को निर्धारित करने का तरीका ढूंढना होगा (और इन ज़ूम किए गए मामलों के लिए समायोजित करने का प्रयास करें)। धन्यवाद! –

0

ब्राउज़र में, आप CSS पिक्सेल की अमूर्त के साथ सौदा, शारीरिक पिक्सल के साथ नहीं। आपको बताया गया आकार सबसे अधिक संभव है (जब तक कि खेल में एक अजीब ब्राउजर बग न हो), इसलिए खिड़की की ऊंचाई 853 सीएसएस पिक्सेल है।

मेरी सलाह उस आकार के साथ काम करना होगा। मीडिया प्रश्नों के साथ अपना लेआउट समायोजित करें। ब्राउज़र को दूसरे अनुमान लगाने की कोशिश न करें; हार्डवेयर विनिर्देशों के लिए ऑप्टिमाइज़ न करें जो ब्राउज़र विक्रेता, और वेब मानकों, सक्रिय रूप से आपसे छिपाने की कोशिश कर रहे हैं।

(अगर मैं समय मैं, पर बाद में इस उत्तर का विस्तार करने की कोशिश करेंगे। अवधारणाओं का एक उचित स्पष्टीकरण एक ब्लॉग पोस्ट की लंबाई है।)

+0

हाँ, अगर मेरे पास समय है, तो मैं आपका सुझाव दूंगा और देख सकता हूं कि यह क्या करता है, लेकिन मुझे संदेह है कि आप सही हैं। इस दृष्टिकोण के बारे में मेरी चिंता यह है कि यदि कोई "सत्य" 1280 डिस्प्ले है जो 1280 की ऊंचाई की रिपोर्ट करता है ... जो प्रदर्शन के आधार पर मेरी स्टाइलशीट को समायोजित करने से फेंक देगा। –

+1

असल में, आपको इसके बारे में चिंता करने की ज़रूरत नहीं है। यह ब्राउज़र विक्रेता हैं जो डिवाइस पिक्सेल अनुपात (वर्चुअल सीएसएस पिक्सेल से संबंधित डिवाइस पिक्सल की संख्या) पर निर्णय लेते हैं। यह निर्णय आपके नियंत्रण से परे सामान के आधार पर आधारित है: भौतिक स्क्रीन आयाम, अपेक्षित देखने की दूरी, पिक्सेल घनत्व, और शायद ओएस-व्यापी उपयोगकर्ता सेटिंग्स। आप जेएस में रिपोर्ट किए गए आकार के साथ काम करने के लिए _meant_ हैं। परिणाम भौतिक वातावरण में स्केल करना हार्डवेयर निर्माताओं, ओएस और ब्राउज़र की संयुक्त जिम्मेदारी है। अब आप उस बिंदु पर शामिल नहीं हैं। – hashchange

1

यहां एक समाधान है जो फ़ायरफ़ॉक्स, क्रोम, आईई 11 और एज में मेरे लिए काम करता है। मेरे पास परीक्षण करने के लिए मैक नहीं है लेकिन यह भी वहां काम करना चाहिए। आपको डिवाइस पिक्सेल अनुपात में कारक करने की आवश्यकता है।

var screenHeight = window.devicePixelRatio * screen.height; 

यह उपकरण के डीपीआई की परवाह किए बिना आप स्क्रीन आयाम दे देंगे: यहाँ एक उदाहरण (JSBin) है।

ध्यान देने योग्य एक महत्वपूर्ण बात यह है कि innerHeight (ब्राउज़र UI के बिना विंडो का आकार) और outerHeight (ब्राउज़र UI के साथ विंडो का आकार) ब्राउज़र विंडो से संबंधित है। यदि आप ब्राउज़र विंडो के आकार को जानना चाहते हैं तो आपको screen.height के बजाय उन लोगों का उपयोग करना चाहिए।

+0

पुष्टि के लिए धन्यवाद। यह कुछ ऐसा है जो मुझे [Tschallacka की टिप्पणी] के साथ ले जाया गया था (https://stackoverflow.com/questions/41984029/get-height-of-surface-pro-3-on-web-page/42100480#comment71311711_42069610)। नोट भी उपयोगी है। –

संबंधित मुद्दे