2015-03-15 3 views
5

जब नया टैब खोला जाता है और HTML दस्तावेज़ लोड होता है तो मुझे क्रोम एक्सटेंशन चलाने की आवश्यकता होती है।नए टैब पर क्रोम एक्सटेंशन को ट्रिगर करें

एक्सटेंशन को नए टैब शीर्षक की जांच करने की आवश्यकता है और यदि यह पूर्वनिर्धारित स्ट्रिंग के बराबर है, तो टैब बंद होना चाहिए।

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

यहां वर्तमान कोड है।

function getCurrentTabData(callback) { 
    var queryInfo = { 
    active: true, 
    currentWindow: true 
    }; 
    chrome.tabs.query(queryInfo, function(tabs) { 
    var tab = tabs[0]; 
    var title = tab.title; 
    var id = tab.id; 
    callback(title, id); 
    }); 
} 

document.addEventListener('DOMContentLoaded', function() { 

    getCurrentTabData(function(title, id) { 

    if(title == 'Page title') { 
     chrome.tabs.remove(id, function() { }); 
    } 

    }); 
}); 

और यहाँ मेरी manifest.json है

{ 
    "manifest_version": 2, 

    "name": "Auto close tab", 
    "description": "Auto closes tab if title is matched", 
    "version": "1.0", 

    "browser_action": { 
    "default_icon": "icon.png" 
    }, 
    "permissions": [ 
    "activeTab" 
    ] 
} 

कैसे यह यह के आइकन पर क्लिक के बिना चलने बनाने के लिए?

उत्तर

7

इसे सबसे पहले पूरा करने के लिए आपको एक पृष्ठभूमि पृष्ठ होना होगा जो आपकी विस्तार स्थिति का प्रबंधन करेगा। आप इसके बारे में यहाँ पढ़ सकते हैं: https://developer.chrome.com/extensions/background_pages

तब पृष्ठभूमि पृष्ठ स्क्रिप्ट आप जब टैब कोड के इस टुकड़े के साथ बनाई गई है सुनने की आवश्यकता होगी में

: https://developer.chrome.com/extensions/tabs#event-onCreated

:

chrome.tabs.onCreated.addListener(function callback) 

यहाँ इस के लिए दस्तावेज़ है

आशा है कि यह आपकी समस्या को हल करने में मदद करेगा।

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