2011-02-01 11 views
17

मैं वर्तमान में एक Google क्रोम एक्सटेंशन बना रहा हूं जो कुछ पैटर्न के लिए परीक्षण करता है और यदि पाया जाता है, तो उन्हें एक नए यूआरएल पर रीडायरेक्ट करता है।Google Chrome एक्सटेंशन और सामग्री स्क्रिप्ट का उपयोग करके मैं URL पर रीडायरेक्ट कैसे करूं?

मुझे सामग्री स्क्रिप्ट के माध्यम से पैटर्न की जांच मिल गई है, और अब मुझे यकीन नहीं है कि मैं रीडायरेक्ट करने के साथ कैसे आगे बढ़ सकता हूं। कोई सुझाव ?

+5

@jmort 'window.location' के बाद से सामग्री स्क्रिप्ट आम हैं काम नहीं करता है के रूप में जोड़ सकते हैं। और भी, 'window.location.href' वर्तमान स्थान देता है, लेकिन यह एक विधि नहीं है इसलिए मैं इसे ओवरराइट नहीं कर सकता। – Sathya

उत्तर

28

संदेश रीडायरेक्ट url:

chrome.runtime.sendMessage({redirect: "http://redirect"}); 

पृष्ठभूमि पृष्ठ का अद्यतन टैब के यूआरएल का कारण होता है जो में पुन: निर्देश:

chrome.runtime.onMessage.addListener(function(request, sender) { 
    chrome.tabs.update(sender.tab.id, {url: request.redirect}); 
}); 
+0

बिल्कुल सही, धन्यवाद! इसे भी मिला -> http://code.google.com/chrome/extensions/extension.html#event-onRequest और यहां वीडियो -> http://code.google.com/chrome/extensions/content_scripts। एचटीएमएल – Sathya

-3

मैंने Google क्रोम एक्सटेंशन के साथ काम नहीं किया है ... लेकिन आप these ways में से किसी एक का उपयोग करने में सक्षम हो सकते हैं।

मैं समझता हूँ, इन एक्सटेंशन API आप पृष्ठ में जावास्क्रिप्ट इंजेक्षन करने की अनुमति ... के बाद कि विंडो स्थान की अपनी सरल हेरफेर ... एक पृष्ठभूमि पृष्ठ के लिए एक सामग्री स्क्रिप्ट से

+1

जैसा कि बताया गया है, सामग्री स्क्रिप्ट अप्रतिबंधित हैं, इसलिए ऐसा करना संभव नहीं है कि – Sathya

1

आप पहुँच चाहते हैं अपने WebExtension के अंदर एक फ़ाइल, तो आप फ़ाइल और web_accessible_resources करने के लिए अपने आवश्यक शर्तें manifest.json में, में

{ 
    ... 
    "web_accessible_resources": [ 
    "images/*.png", 
    "style/double-rainbow.css", 
    "script/double-rainbow.js", 
    "script/main.js", 
    "templates/*" 
    ], 
    ... 
} 
संबंधित मुद्दे