क्या कोई तरीका है जो सभी ब्राउज़रों के लिए काम करता है?
क्या कोई तरीका है जो सभी ब्राउज़रों के लिए काम करता है?
जवाबों:
मूल उत्तर
हाँ।
window.screen.availHeight
window.screen.availWidth
अद्यतन 2017-11-10
टिप्पणियों में सुनामी से :
एक मोबाइल डिवाइस के मूल रिज़ॉल्यूशन को प्राप्त करने के लिए आपको डिवाइस पिक्सेल अनुपात के साथ गुणा करना होगा:
window.screen.width * window.devicePixelRatio
औरwindow.screen.height * window.devicePixelRatio
। यह डेस्कटॉप पर भी काम करेगा, जिसका अनुपात 1 होगा।
और एक अन्य जवाब में बेन से :
वेनिला जावास्क्रिप्ट में, यह आपको उपलब्ध चौड़ाई / ऊँचाई देगा:
window.screen.availHeight window.screen.availWidth
पूर्ण चौड़ाई / ऊंचाई के लिए, उपयोग करें:
window.screen.height window.screen.width
$(window).width()
बजाय का उपयोग करूँगा, chaim.dev का उत्तर देखें
window.devicePixelRatio
। Alessandros जवाब पर मेरी टिप्पणी का संदर्भ लें।
var width = screen.width;
var height = screen.height;
window.screen
। बस इसे मौजूदा उत्तर में जोड़ना चाहिए।
screen.availHeight
सिर्फ ब्राउज़र विंडो में उपलब्ध ऊंचाई screen.height
देता है जबकि स्क्रीन की सटीक ऊंचाई देता है।
window.screen.width * window.devicePixelRatio
और window.screen.height * window.devicePixelRatio
। यह डेस्कटॉप पर भी काम करेगा, जिसका अनुपात 1.
वेनिला जावास्क्रिप्ट में, यह आपको उपलब्ध चौड़ाई / ऊँचाई देगा:
window.screen.availHeight
window.screen.availWidth
पूर्ण चौड़ाई / ऊंचाई के लिए, उपयोग करें:
window.screen.height
window.screen.width
उपरोक्त दोनों को खिड़की उपसर्ग के बिना लिखा जा सकता है।
JQuery की तरह? यह सभी ब्राउज़रों में काम करता है, लेकिन प्रत्येक ब्राउज़र अलग-अलग मान देता है।
$(window).width()
$(window).height()
क्या आप डिस्प्ले रिज़ॉल्यूशन (जैसे 72 डॉट प्रति इंच) या पिक्सेल आयाम (ब्राउज़र विंडो वर्तमान में 1000 x 800 पिक्सल है) का मतलब है?
स्क्रीन रिज़ॉल्यूशन आपको यह जानने में सक्षम करता है कि इंच में 10 पिक्सेल की लाइन कितनी मोटी होगी। पिक्सेल आयाम आपको बताते हैं कि उपलब्ध स्क्रीन ऊंचाई का कितना प्रतिशत 10 पिक्सेल चौड़ी क्षैतिज रेखा द्वारा लिया जाएगा।
केवल जावास्क्रिप्ट से डिस्प्ले रिज़ॉल्यूशन जानने का कोई तरीका नहीं है क्योंकि कंप्यूटर आमतौर पर स्क्रीन के वास्तविक आयामों को नहीं जानता है, बस पिक्सल की संख्या। 72 डीपीआई सामान्य अनुमान है ...।
ध्यान दें कि डिस्प्ले रिज़ॉल्यूशन के बारे में बहुत भ्रम है, अक्सर लोग पिक्सेल रिज़ॉल्यूशन के बजाय शब्द का उपयोग करते हैं, लेकिन दोनों काफी अलग हैं। विकिपीडिया देखें
बेशक, आप प्रति सेमी डॉट्स में रिज़ॉल्यूशन भी माप सकते हैं। गैर-वर्ग डॉट्स का अस्पष्ट विषय भी है। लेकिन मैं पीछे हटा।
JQuery का उपयोग आप कर सकते हैं:
$(window).width()
$(window).height()
आप ब्राउज़र टूलबार और (केवल स्क्रीन आकार नहीं) से बचकर, WINDOW की चौड़ाई और ऊंचाई भी प्राप्त कर सकते हैं।
ऐसा करने के लिए, का उपयोग करें:
window.innerWidth
और window.innerHeight
गुण। इसे w3schools पर देखें ।
ज्यादातर मामलों में, यह सबसे अच्छा तरीका होगा, उदाहरण के लिए, एक पूरी तरह से केंद्रित फ्लोटिंग मोडल संवाद प्रदर्शित करने के लिए। यह आपको विंडो पर पदों की गणना करने की अनुमति देता है, कोई भी बात नहीं जो संकल्प अभिविन्यास या विंडो आकार ब्राउज़र का उपयोग कर रहा है।
मोबाइल डिवाइस पर इसे प्राप्त करने की कोशिश करने के लिए कुछ और चरणों की आवश्यकता होती है। screen.availWidth
डिवाइस के उन्मुखीकरण की परवाह किए बिना एक ही रहता है।
यहाँ मोबाइल के लिए मेरा समाधान है:
function getOrientation(){
return Math.abs(window.orientation) - 90 == 0 ? "landscape" : "portrait";
};
function getMobileWidth(){
return getOrientation() == "landscape" ? screen.availHeight : screen.availWidth;
};
function getMobileHeight(){
return getOrientation() == "landscape" ? screen.availWidth : screen.availHeight;
};
window.orientation
अपरिभाषित देता है ... (फ़ायरफ़ॉक्स 49) screen.orientation.angle
एक कोण लौटाता है, लेकिन यह परिदृश्य मोड के लिए पहले से ही 0 पर है।
यदि आप स्क्रीन रिज़ॉल्यूशन का पता लगाना चाहते हैं, तो आप प्लगइन रेस को चेकआउट करना चाह सकते हैं । यह आपको निम्नलिखित कार्य करने की अनुमति देता है:
var res = require('res')
res.dppx() // 1
res.dpi() // 96
res.dpcm() // 37.79527559055118
रयान वैन इटेन, प्लगइन्स लेखक से कुछ बेहतरीन रिज़ॉल्यूशन टेकअवे हैं :
आज के लिए रिस के लिए स्रोत कोड यहाँ है:
!function(root, name, make) {
if (typeof module != 'undefined' && module.exports) module.exports = make()
else root[name] = make()
}(this, 'res', function() {
var one = {dpi: 96, dpcm: 96 / 2.54}
function ie() {
return Math.sqrt(screen.deviceXDPI * screen.deviceYDPI) / one.dpi
}
function dppx() {
// devicePixelRatio: Webkit (Chrome/Android/Safari), Opera (Presto 2.8+), FF 18+
return typeof window == 'undefined' ? 0 : +window.devicePixelRatio || ie() || 0
}
function dpcm() {
return dppx() * one.dpcm
}
function dpi() {
return dppx() * one.dpi
}
return {'dppx': dppx, 'dpi': dpi, 'dpcm': dpcm}
});