2012-02-23 10 views
7

मेरी वेबसाइट 1024x768 लेआउट के लिए अनुकूलित (निश्चित चौड़ाई के साथ) है। मैं संकल्प चौड़ाई 1280 या उच्चतम वाले लोगों के लिए पृष्ठ के दोनों ओर वर्टिकल बैनर जोड़ने की योजना बना रहा हूं।एकाधिक मॉनीटर के लिए स्क्रीन चौड़ाई का पता लगाएं

स्क्रीन.विड्थ का उपयोग करके, मैं आसानी से ऐसा कर सकता हूं। लेकिन कई मॉनीटर वाले मशीनों पर कोशिश करते समय मुझे एक समस्या का सामना करना पड़ता है।

चलें नीचे वर्णित परिदृश्य मान:
मॉनिटर 1 (प्राथमिक प्रदर्शन) - संकल्प है 1024 x 768
मॉनिटर 2 (माध्यमिक प्रदर्शन) - संकल्प 1440 है x 900

screen.width हमेशा से पता चलता है मॉनिटर के बावजूद 1024 के रूप में चौड़ाई मैं पेज ब्राउज़ करता हूं। यदि मैं प्राथमिक मॉनिटर को मॉनीटर 2 में बदलता हूं तो मानों को उलट दिया जाता है।

यह एक बड़ी समस्या है, खासकर लोगों के लिए 1024x768 रिज़ॉल्यूशन प्राथमिक रिज़ॉल्यूशन के रूप में। इसका मतलब है कि मैं ऐसे परिदृश्यों में संभावित रूप से बैनर इंप्रेशन खो सकता हूं।

मैं इस पर किसी भी मदद की सराहना करता हूं।

उत्तर

3

आपकी प्रतिक्रिया duskwuff के लिए धन्यवाद। मुझे नीचे दिए गए फ़ंक्शन को संकलित करने में सहायता मिली जिसने मेरे लिए समस्या हल की।

function getBrowserWith() 
{ 
    if(($.browser.msie == true && $.browser.version == '9.0') || $.browser.webkit == true || $.browser.mozilla == true) 
     return window.innerWidth; 
    else if(($.browser.msie == true) && ($.browser.version == '7.0' || $.browser.version == '8.0')) 
     return document.documentElement.clientWidth; 
    else 
     return screen.width; 
} 

महत्वपूर्ण नोट

  1. jQuery 1.4 + आवश्यक है
  2. ध्यान दें कि ऊपर समारोह केवल IE7 +, FF7 + और Chrome16 + ब्राउज़रों के लिए परीक्षण किया गया है।
+0

काम नहीं करेंगे उपयोगकर्ता पूर्ण स्क्रीन पर ब्राउज़र का प्रयोग नहीं किया जाता है। – ceaggregation

+1

यह मॉनीटर/स्क्रीन चौड़ाई या ऊंचाई नहीं देता है। यह केवल खिड़की की चौड़ाई या खिड़की की ऊंचाई देता है! –

+0

$ .browser.msie jquery 1.9 – Tito

3

window.screen.width के बजाय window.innerWidth (स्क्रीन पर वेब पेज की चौड़ाई) को देखने का प्रयास करें।

-2

जावास्क्रिप्ट के लिए आप यह कोड में इस तरह से उपयोग कर सकते हैं:

var width = new Array(); var height = new Array(); 
var screens = java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices(); 

for(var i = 0;i<screens.length; i++){ 
    var config = screens[i].getConfigurations(); 
    var bounds = config[0].getBounds(); 
    width[i] = bounds.getWidth(); 
    height[i] = bounds.getHeight(); 
} 

अब आप width[0], width[1] उपयोग कर सकते हैं और इस तरह तो के लिए Height जानकारी पाने के लिए।

आप पर नजर रखने के विन्यास जिसमें माउस कर्सर वर्तमान में इशारा कर रही है प्राप्त करना चाहते हैं:

var screen, config,width, height; 
screen = java.awt.MouseInfo.getPointerInfo().getDevice(); 
config = screen.getConfigurations(); 
width = config[0].getBounds().getWidth(); 
height = config[0].getBounds().getHeight(); 
+2

में हटा दिया गया है जावास्क्रिप्ट चलाने वाले ब्राउज़र से आप 'java.awt.GraphicsEnvironment' तक कैसे पहुंचेंगे? – Lounge9

+0

@ पिकेश, किसी ने भी कोशिश की? क्या यह वास्तव में जावा एप्लेट के लिए काम करता है? – Pacerier

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