द्वारा बनाई गई पॉपअप विंडो बंद करना मैं एक क्रोम एक्सटेंशन बनाने की कोशिश कर रहा हूं जो स्वादिष्ट बुकमार्कमार्क के लिए एक प्रतिस्थापन है। मुझे पता है कि पहले से ही एक एक्सटेंशन है जो यह करता है, लेकिन उस एक्सटेंशन के साथ समस्या यह है कि जब आप किसी साइट को बुकमार्क करते हैं, तो पॉपअप विंडो खुली रहती है (बुकमार्कलेट का उपयोग करने के विपरीत, जहां पॉपअप फॉर्म सबमिट करने के बाद खुद को बंद कर देता है। मैंने फिर से बनाया विस्तार और एक ही समस्या में पड़ गएGoogle क्रोम एक्सटेंशन
यहाँ मेरी कोड है:।
manifest.json:
{
"name": "Delicious",
"version": "1.0",
"description": "Bookmark a site on Delicious",
"background_page": "background.html",
"permissions": [
"tabs"
],
"browser_action": {
"default_icon": "delicious.png"
},
"content_scripts": [
{
"matches": ["http://www.delicious.com/save*"],
"js": ["contentscript.js"]
}
]
}
background.html:
<html><script>
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.getSelected(null, function(tab) {
w = window.open('http://delicious.com/save?url='+
encodeURIComponent(tab.url)+
'&title='+encodeURIComponent(tab.title)+
'&v=5&noui=1&jump=close',
'deliciousuiv5',
'location=yes,links=no,scrollbars=no,toolbar=no,width=550,height=550');
});
});
</script></html>
contentscript.js:
if (document.URL == 'http://www.delicious.com/save')
{
alert('closing...');
self.close();
alert('should have closed by now');
}
जब मैं स्वादिष्ट बटन क्लिक करें, पॉपअप ठीक ऊपर आता है और मैं बुकमार्क बचा सकता है लेकिन उसके बाद मैं "सहेजें" क्लिक करें, पॉपअप बंद नहीं करता है। दोनों अलर्ट दिखाई देते हैं, लेकिन self.close()
कुछ भी नहीं प्रतीत होता है। जब मैं contentcript.js में यूआरएल चेक को हटाता हूं, तो पॉपअप सामान्य के रूप में आता है, पहली चेतावनी तुरंत आग लगती है, और फिर पॉपअप स्वयं बंद हो जाता है (जैसा कि इसे करना चाहिए)।
यह क्यों काम नहीं करता है? ऐसा लगता है कि क्रोम मुझे self.close() से रोकने से रोक रहा है। क्या स्वादिष्ट कुछ कर रहा है? क्या यह कुछ और है? यदि आप उन्हें चाहते हैं
फ़ाइलें यहां हैं: [लिंक हटा दिया क्योंकि drop.io कारोबार से बाहर चला गया]
खिड़की स्वचालित रूप से मेरे लिए बंद हो जाती है। मैं क्रोम का एक बिल्कुल डिफ़ॉल्ट संस्करण चला रहा हूं अगर इससे कोई फर्क पड़ता है। –