2015-03-01 9 views
5

में एक नई विंडो लॉन्च करने के लिए कैसे मैं Google क्रोम के लिए एक्सटेंशन विकसित करने की कोशिश कर रहा हूं, लेकिन मुझे कुछ समस्याएं हैं, जब मैं आइकन में उस पर क्लिक करता हूं तो मैं एक नई विंडो लॉन्च या बनाना चाहता हूं।Google क्रोम एक्सटेंशन

इस तरह

: इतना http://i.imgur.com/8iRkEOb.png

धन्यवाद!

उत्तर

11

सबसे पहले, अगर आपके पास मेनिफेस्ट में परिभाषित default_popup है - तो आपको इसे हटाने की आवश्यकता है, क्योंकि यह उस क्लिक ईवेंट से हस्तक्षेप करता है, जिसे आप पकड़ना चाहते हैं।

उसके बाद, आप एक पृष्ठभूमि लिपि में घटना को पकड़ने के लिए की जरूरत है:

chrome.browserAction.onClicked.addListener(function(tab) { 
    // ... 
}); 

इसके बाद, अगर हम एक खिड़की चाहते हैं, हम शायद windows API को देखने के लिए चाहते हैं। create() आपको जो चाहिए वह लगता है:

chrome.browserAction.onClicked.addListener(function(tab) { 
    chrome.windows.create({/* options */}); 
}); 

आपको किन विकल्पों की आवश्यकता है?

chrome.browserAction.onClicked.addListener(function(tab) { 
    chrome.windows.create({ 
    // Just use the full URL if you need to open an external page 
    url: chrome.runtime.getURL("mypage.html") 
    }); 
}); 

फिर, एक खिड़की की तरह आप दिखा रहे हैं दिखाने के लिए, शीर्ष टूलबार के बिना, आप एक खिड़की प्रकार की जरूरत है: यदि आप अपने एक्सटेंशन से कोई पृष्ठ खोलना चाहते मान लिया जाये, तो आप एक यूआरएल एक chrome.runtime.getURL में लिपटे की आवश्यकता होगी "popup":

chrome.browserAction.onClicked.addListener(function(tab) { 
    chrome.windows.create({ 
    url: chrome.runtime.getURL("mypage.html"), 
    type: "popup" 
    }, function(win) { 
    // win represents the Window object from windows API 
    // Do something after opening 
    }); 
}); 
+0

मैनिफ़ेस्ट फ़ाइल कैसे हो सकता है:

chrome.browserAction.onClicked.addListener(function(tab) { chrome.windows.create({ url: chrome.runtime.getURL("mypage.html"), type: "popup" }); }); 

अंत में, यदि आप के बाद खिड़की खोल दिया है कुछ करना चाहता हूँ, कॉलबैक का उपयोग करें? { "नाम": "उदाहरण डोम", "संस्करण": "1.31", "manifest_version": 2, "अनुमति": [ "टैब"], "browser_action" मैं इस एक है: { "नाम": "उदाहरण", "माउस": [ "icon.png"], "default_icon": "icon.png" }, "content_scripts": [{ "js": [ " jquery.min.js "," background.js "], " मैचों ": [" http: // */* "," https: // */* "] }] } –

+0

मैं कहां रख सकता हूं क्लिक घटना पर कब्जा करने के लिए घटना? –

+0

धन्यवाद श्रीमान ज़ान, आप वास्तव में मेरी मदद करते हैं, मैं भी समाधान यहां था: https://developer.chrome.com/extensions/examples/api/tabs/inspector.zip –

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