2011-03-17 14 views
6

मैं Google क्रोम एक्सटेंशन में पॉप-अप विंडो खोलने के लिए निम्न कोड का उपयोग कर रहा हूं, मेरा एक सवाल यह है कि, मैं पॉप-अप विंडो को केंद्र में कैसे खोलूं उपयोगकर्ता स्क्रीन?पॉप-अप विंडो, सेंटर स्क्रीन

<script> 
    chrome.browserAction.onClicked.addListener(function() { 
    var left = (screen.width/2)-(w/2); 
    var top = (screen.height/2)-(h/2); 
    chrome.windows.create({'url': 'redirect.html', 'type': 'popup', 'width': 440, 'height': 220, 'left': '+left+', 'top': '+top+', } , function(window) { 
    }); 
}); 
    </script> 

मैंने यह भी कोशिश की है, जिसके परिणामस्वरूप कोई भाग्य नहीं हुआ।

<script> 
    chrome.browserAction.onClicked.addListener(function() { 
    chrome.windows.create({'url': 'redirect.html', 'type': 'popup', 'width': 440, 'height': 220, 'left': (screen.width/2)-(w/2), 'top': (screen.height/2)-(h/2), } , function(window) { 
    }); 
}); 
    </script> 
+0

एक मुद्दा मैं देखता हूं: डब्ल्यू और एच क्या हैं? उन्हें या तो स्निपेट –

+0

@ मैट एस में परिभाषित नहीं किया गया है, मैंने सोचा था कि उन्हें परिभाषित किया गया था: ** 'चौड़ाई': 440, 'ऊंचाई': 220, ** – itsdaniel0

उत्तर

13

जब आप जे एस में var obj = {property: value} संरचना देख यह एक वस्तु रचना है। अपने कोड में आप विंडो गुणों वाले ऑब्जेक्ट को chrome.windows.create() फ़ंक्शन पर पास करने का प्रयास कर रहे हैं।

सही कोड होना चाहिए:

chrome.browserAction.onClicked.addListener(function() { 
    var w = 440; 
    var h = 220; 
    var left = (screen.width/2)-(w/2); 
    var top = (screen.height/2)-(h/2); 

    chrome.windows.create({'url': 'redirect.html', 'type': 'popup', 'width': w, 'height': h, 'left': left, 'top': top} , function(window) { 
    }); 
}); 
+0

मैं ईमानदारी से आपको धन्यवाद नहीं दे सकता! धन्यवाद – itsdaniel0

+0

@ itsdaniel0 आपका स्वागत है :) – serg

+1

chrome.windows.create 'शीर्ष' और 'बाएं' पूर्णांक होने की अपेक्षा करें ताकि पैरामीटर पास करने से पहले Math.round() को सुनिश्चित कर सकें। – holmberd

1

इस उत्तर के परिशिष्ट के रूप में, यदि आप LocalStorage से पॉपअप आयाम प्राप्त करना चाहते हैं - जो तारों के रूप में सहेजे जाते हैं - यह आवश्यक पूर्णांकों को चर में परिवर्तित कर देंगे काम करने के लिए पॉप-अप के लिए।

var w = parseInt(localStorage.getItem('key')); 
var h = parseInt(localStorage.getItem('key')); 
1

आप केंद्रित भी एक दोहरी निगरानी के साथ काम करना चाहते हैं, तो आप विस्तार से वर्तमान विंडो वस्तु मिलती हैं और करने के लिए अपने पॉपअप रिश्तेदार केंद्रित करने के लिए की आवश्यकता होगी। इसलिए जैसा:

chrome.browserAction.onClicked.addListener(function() { 
    chrome.windows.getCurrent(function(win) { 
     var width = 440; 
     var height = 220; 
     var left = ((screen.width/2) - (width/2)) + win.left; 
     var top = ((screen.height/2) - (height/2)) + win.top; 

     chrome.windows.create({ 
      url: 'redirect.html', 
      width: width, 
      height: height, 
      top: Math.round(top), 
      left: Math.round(left), 
      type: 'popup' 
     }); 
    }); 
    }); 

chrome.windows.createtop और left के लिए एक पूर्णांक की उम्मीद है, इसलिए यह Math.round में उन मूल्यों को रैप करने के लिए सिफारिश की है।

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