2011-03-03 6 views
5

मैंने quickmarks नामक एक एक्सटेंशन बनाया है जो वर्तमान में चयनित टैब पर कीवर्ड द्वारा बुकमार्क खोल देगा। मैं बुकमार्क (chrome.omnibox.onInputEntered) का चयन करने के ऑम्निबॉक्स के उपयोग हूँ, और chrome.tabs.update एपीआई वर्तमान टैब में बुकमार्क का URL खोलने के लिए, द्वारा updateProperties में यूआरएल प्रदान करते हैं। हालांकि टैब के बाद अपडेट किया गया है, फिर भी ऑम्निबॉक्स में फोकस रहता है, जो उपयोगकर्ता को अनुभव जितना अच्छा हो उतना अच्छा नहीं बनाता है। तो ऑम्निबॉक्स के बजाय पृष्ठ पर फ़ोकस करने का कोई तरीका है।क्रोम एक्सटेंशन, चयनित टैब के बाद ऑम्निबॉक्स के बजाय पृष्ठ पर फ़ोकस किया गया है?

Btw, मैं chrome.tabs.create का उपयोग करके एक नया टैब खोलने की कोशिश की है। पृष्ठ ऑम्निबॉक्स के बजाय केंद्रित किया जाएगा, जो मेरी वांछित व्यवहार है।

धन्यवाद।

उत्तर

6

chrome.tabs.update(tab.id, {url: url, selected: true}); का उपयोग करना मेरे लिए काम कर देता है।

0

स्वीकार्य उत्तर अब क्रोम 31 में काम नहीं करता है। मुझे उम्मीद थी कि यह selected संपत्ति का बहिष्कार किया जा सकता है लेकिन प्रतिस्थापन highlighted संपत्ति को टैब की सामग्री पर ध्यान केंद्रित नहीं किया गया था।

मैं केवल मौजूदा टैब को बंद करने और फिर उसके स्थान पर एक नया टैब बनाने के द्वारा ऑम्निबॉक्स से ध्यान केंद्रित चोरी करने में सक्षम था।

chrome.tabs.getSelected(null, function(tab) { 
    chrome.tabs.remove(tab.id, function() { 
     chrome.tabs.create({url:url, active:true}); 
    }); 
}); 

हालांकि यह निश्चित रूप से आदर्श नहीं है, वर्तमान टैब बंद कर दिया है और एक नया इतनी तेजी से आप मुश्किल से कोई अंतर दिखाई खोला: यहाँ कोड है कि क्रोम 31 में काम करता है।

+0

मैं वर्तमान में इस पद्धति का उपयोग कर रहा हूँ के रूप में अच्छी तरह से, लेकिन मैं टैब डुप्लिकेट सुझाव देंगे बस इसे हटाने ताकि आप पर इतिहास को संरक्षित कर सकते हैं (आप हटाने के बाद यह कर सकते हैं) के बजाय। –

0

डेव टिअरे सही है कि इस अब Chrome के वर्तमान संस्करण में काम करता है, लेकिन उसकी विधि मेरे लिए काम नहीं किया है। ऐसा लगता है कि टैब हटा दिए जाने के बाद chrome.tabs.create को कॉल नहीं किया गया था।

मैं Chrome एक्सटेंशन iChrome का उपयोग करें और मैं चाहता था यह चयन किया जाना है जब मैं एक नया टैब बनाया, तो मैं एक और विस्तार है कि iChrome को नए टैब पुनर्निर्देश स्थापित। दुर्भाग्य से यह वही बहिष्कृत "चयनित: सत्य" विधि का उपयोग करता है।

मैं क्या बता सकते हैं वर्तमान में इस सफाई से ऐसा करने के लिए कोई रास्ता नहीं है से, आप Chrome को अपडेट टैब के इनपुट ध्यान केंद्रित करना है और न ही आप इसे onmibar में पाठ का चयन, इसलिए आप बस एक नया टैब बनाने के बाद खोज शुरू नहीं कर सकते हो सकता है नहीं हो सकता है । तो यह है कि मैं क्या के साथ आया है:

chrome.tabs.create({url:url, active:true}, function(){ 
    chrome.tabs.remove(tab.id); 
}); 

निश्चित रूप से अभी भी आदर्श नहीं है, और आप एक फ्लैश देख सकते हैं जब यह पुराने टैब बंद कर देता है, लेकिन यह काम करता है। इनपुट केंद्रित है।

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