2012-08-11 6 views
8

क्या सभी टैब खुले हैं और उन्हें क्रोम में सरणी में सॉर्ट करने का कोई तरीका है? तो अगर जीमेल और यूट्यूब खुले थे, तो "gmail.com" और "youtube.com" नामक सरणी में दो प्रविष्टियां होंगी।क्रोम में कौन से टैब खुले हैं यह पुनर्प्राप्त कर रहे हैं?

उत्तर

9

हाँ, यहाँ तुम ऐसा कैसे कर सकते हैं:

नोट: यह आपके मैनिफ़ेस्ट फ़ाइल में निर्दिष्ट करना आवश्यक अनुमति "टैब"।

chrome.windows.getAll({populate:true}, getAllOpenWindows); 

function getAllOpenWindows(winData) { 

    var tabs = []; 
    for (var i in winData) { 
    if (winData[i].focused === true) { 
     var winTabs = winData[i].tabs; 
     var totTabs = winTabs.length; 
     for (var j=0; j<totTabs;j++) { 
      tabs.push(winTabs[j].url); 
     } 
    } 
    } 
    console.log(tabs); 
} 
इस उदाहरण मैं सिर्फ टैब यूआरएल द्वारा जोड़ा जा रहा के रूप में आप एक सरणी में पूछा लेकिन हर "टैब" वस्तु एक बहुत अधिक जानकारी शामिल है में

। यूआरएल पूर्ण यूआरएल होगा जो आप यूआरएल से डोमेन नाम निकालने के लिए कुछ नियमित अभिव्यक्ति लागू कर सकते हैं।

+1

मैनिफेस्ट फ़ाइल में "टैब" अनुमति कैसे निर्दिष्ट की जा सकती है? इस विकल्प को सक्षम करने के लिए मैनिफेस्ट फ़ाइल में मुझे क्या लिखना चाहिए? –

+0

'chrome.windows' अपरिभाषित है ... आप इस मामले में क्या करते हैं? –

3

जब तक आप एक प्लगइन नहीं बना रहे हैं, तो ऐसा कोई तरीका नहीं है कि मैं खुले टैब के सभी नामों को पुनर्प्राप्त करने के बारे में जानता हूं, खासकर यदि टैब में अलग-अलग डोमेन से सामग्री शामिल है। यदि आप ऐसी चीज करने में सक्षम थे, तो यह काफी सुरक्षा समस्या हो सकती है!

आप Chrome प्रलेखन यहाँ देख सकते हैं: http://developer.chrome.com/extensions/devguide.html

+0

मैं क्रोम प्लगइन बना रहा हूं। – Ray

+0

यह बुरी खबर है क्योंकि मैं क्रोम से मैन्युअल रूप से फ़ायरफ़ॉक्स से सभी टैब माइग्रेट करने का प्रयास कर रहा हूं (दूसरी दिशा सीधे आगे है क्योंकि मैं फ़ायरफ़ॉक्स को क्रोम: // स्तर पर किसी भी स्क्रिप्ट को चला सकता हूं)। – lilydjwg

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