विशिष्ट यूआरएल पर उपयोगकर्ता को रीडायरेक्ट करने के लिए क्रोम एक्सटेंशन

मैं एक क्रोम एक्सटेंशन बनाना चाहता हूं जो अनिवार्य रूप से जांचता है कि वर्तमान डोमेन सूची में है, यदि उपयोगकर्ता को एक अलग यूआरएल पर रीडायरेक्ट करता है, तो उसे एक लिंक पर क्लिक करने और प्रारंभिक रूप से वांछित यूआरएल पर जाने की अनुमति मिलती है।

मुझे जावास्क्रिप्ट या क्रोम एक्सटेंशन के साथ अधिक अनुभव नहीं है, लेकिन यह स्टार्टर्स प्रोजेक्ट के लिए काफी आसान लगता है।

मैं इस संरचना की एक फाइल रखना चाहता हूं

urlregex1#redirecttourl1
urlregex2#redirecttourl2
.
.
.

और क्रोम सामग्री_स्क्रिप्ट प्रत्येक यूआरएल पार्स है और जांचें कि नियमित अभिव्यक्तियों में से कोई एक मेल खाता है या नहीं।

यदि ऐसा है तो स्क्रिप्ट को मूल यूआरएल को सहेजना होगा और उपयोगकर्ता को रीडायरेक्ट करना होगा।

क्या कोई मुझे इस पर लागू करने के तरीके पर सही दिशा में डाल सकता है? मैं पूरी तरह जावास्क्रिप्ट कार्यों, क्रोम एक्सटेंशन एपीआई, के बीच खो गया हूँ ....

0
हाय काई आप और अधिक समझा सकते हैं कि आपने यह कैसे किया है, मैं मूल रूप से एक मोबाइल देव हूं जो जावास्क्रिप्ट में बहुत कम अनुभव रखता है, यह मेरी पहली प्लगइन होगी जिससे आप मेरी मदद कर सकें
जोड़ा लेखक DAMM108, स्रोत

1 उत्तर

आपको अपने पृष्ठभूमि पृष्ठ में कार्यक्षमता सेट अप करनी होगी ताकि यह सभी टैब पर चल सके।

// add listener for all tabs
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
    var safesite = false;

    if (changeInfo === "loading") {
       //logic for checking white list, using tab.url

        if (!safesite) {
            chrome.tabs.update(tabId, { url: 'www.google.com' });
        }
    }
});

अनिवार्य रूप से, आप सभी टैब पर एक ईवेंट श्रोता जोड़ रहे हैं। जब इसकी लोडिंग हो, तो आप यह देखने के लिए जांचें कि क्या यह सफेद सूची में है। यदि यह एक ब्लैक-सूचीबद्ध साइट है, तो उन्हें अपनी पसंद के यूआरएल पर रीडायरेक्ट करें। आप उन्हें फिर से निर्देशित करने के लिए एक्सटेंशन निर्देशिका में .html फ़ाइल भी शामिल कर सकते हैं। यह वेब इंस्पेक्टर समेत सभी टैब पर आग लगती है ताकि आप कुछ तर्कों को केवल http (s) अनुरोधों को जांच सकें।

साथ ही, यह दृष्टिकोण काला-सूचीबद्ध पृष्ठ को संक्षेप में दिखा सकता है और फिर आपको block_url.html पृष्ठ पर फिर से निर्देशित कर सकता है। प्रयोगात्मक एपीआई, webRequest , अनुरोध को पहले फ़िल्टर करने की क्षमता प्रदान करनी चाहिए पृष्ठ लोड करना लेकिन आप क्रोम वेब स्टोर पर अपलोड नहीं कर पाएंगे जब तक कि यह आधिकारिक क्रोम एपीआई का हिस्सा न हो जाए। यदि यह व्यक्तिगत उपयोग के लिए है तो इसका उपयोग करने में संकोच न करें।

विकास के लिए एक आखिरी युक्ति: आप केवल एक्सटेंशन सेटिंग्स पृष्ठ (क्रोम://सेटिंग्स/एक्सटेंशन सेटिंग्स) के माध्यम से background.html को डीबग कर सकते हैं। अपने एक्सटेंशन के लिए ड्रिल डाउन करें और आप 'सक्रिय दृश्यों का निरीक्षण करें' देखेंगे, जहां आप वर्तमान में चल रहे एक्सटेंशन-विशिष्ट पृष्ठों के लिंक पर क्लिक कर सकते हैं। ऐसा करने से उस पृष्ठ के लिए वेब इंस्पेक्टर लाएगा।

बहुत अधिक खरोंच के बाद, मैं उस गलती से आया और यह तब से जीवन बचा रहा है।

4
जोड़ा
धन्यवाद, यह वही जानकारी थी जिसे मैं ढूंढ रहा था!
जोड़ा लेखक Kai, स्रोत