यह प्रश्न बहुत पुराना है, लेकिन अभी भी Google पर शीर्ष परिणाम है जब आप इस पॉपअप संदेश को एक्सटेंशन डेवलपर के रूप में अक्षम करने के तरीकों की तलाश करते हैं, जिन्होंने क्रोम स्टोर में अपना एक्सटेंशन नहीं जोड़ा है, जिसकी वजह से समूह नीतियों तक पहुंच नहीं है उनके OS के लिए, और क्रोम देव बिल्ड का उपयोग नहीं कर रहा है। इस परिस्थिति में वर्तमान में कोई आधिकारिक समाधान नहीं है, इसलिए मैं यहां एक 'हैकसी' पोस्ट करूंगा।
इस पद्धति ने हमें तुरंत एक नई विंडो बनाने और पुराने को बंद करने की अनुमति दी है। पॉपअप विंडो मूल विंडो से जुड़ी होती है, इसलिए सामान्य उपयोग के मामलों में पॉपअप कभी नहीं दिखाई देता है क्योंकि यह विंडो बंद हो जाती है।
यहाँ पर सबसे सरल उपाय यह है कि हम एक नई विंडो बनाएँ, और हम उन सभी विंडो को बंद कर दें जो उस विंडो की नहीं हैं जिसे हमने कॉलबैक में बनाया था:
chrome.windows.create({
type: 'normal',
focused: true,
state: 'maximized'
}, function(window) {
chrome.windows.getAll(function(windows) {
for (var i = 0; i < windows.length; i++) {
if (windows[i].id != window.id) {
chrome.windows.remove(windows[i].id);
}
}
});
});
इसके अतिरिक्त हम यह पता लगा सकते हैं कि यह एक्सटेंशन कैसे स्थापित किया गया है और केवल इस कोड को चलाने के लिए यदि यह एक विकास स्थापित है (हालांकि संभवत: रिलीज से पूरी तरह से हटाने के लिए सबसे अच्छा है)। पहले हम एक chrome.management.getSelf कॉल के लिए कॉलबैक फ़ंक्शन बनाते हैं जो हमें एक्सटेंशन के इंस्टॉल प्रकार की जांच करने की अनुमति देता है, जो मूल रूप से एक if स्टेटमेंट में ऊपर दिए गए कोड को लपेटता है:
function suppress_dev_warning(info) {
if (info.installType == "development") {
chrome.windows.create({
type: 'normal',
focused: true,
state: 'maximized'
}, function(window) {
chrome.windows.getAll(function(windows) {
for (var i = 0; i < windows.length; i++) {
if (windows[i].id != window.id) {
chrome.windows.remove(windows[i].id);
}
}
});
});
}
}
अगले हम कॉल chrome.management.get के साथ हम कॉलबैक के साथ बनाया:
chrome.management.getSelf(suppress_dev_warning);
इस विधि में कुछ कैविएट हैं, अर्थात् हम एक निरंतर पृष्ठभूमि पृष्ठ मान रहे हैं जिसका अर्थ है कि कोड केवल एक बार चलता है जब क्रोम पहली बार खोला जाता है। एक दूसरा मुद्दा यह है कि यदि हम क्रोम से एक्सटेंशन को फिर से लोड / रीफ्रेश करते हैं: // एक्सटेंशन पेज, यह उन सभी विंडो को बंद कर देगा जो वर्तमान में खुली हैं और मेरे अनुभव में कभी-कभी चेतावनी वैसे भी प्रदर्शित होती हैं। यदि कोई टैब "क्रोम: // एक्सटेंशन" के लिए खुला है और यदि वे हैं तो निष्पादित नहीं करने से यह विशेष मामला बच सकता है।