17

का उपयोग कर आईफ्रेम में जावास्क्रिप्ट इंजेक्ट करें दस्तावेज़ पृष्ठ में जावास्क्रिप्ट इंजेक्शन पर बहुत सारे प्रश्न/उत्तर हैं। मैं वास्तव में क्या करना चाहता हूं दस्तावेज़ में आईफ्रेम में जावास्क्रिप्ट इंजेक्ट करना है।क्रोम एक्सटेंशन

स्पष्ट होने के लिए, कि iframe दस्तावेज़ के समान डोमेन से संबंधित नहीं है। मैंने पहले से ही कंसोल (एक्सटेंशन के माध्यम से नहीं) के माध्यम से कोशिश की है लेकिन ऐसा करने में असमर्थ था।

यदि मैं क्रोम-एक्सटेंशन का उपयोग कर ऐसा कुछ कर सकता हूं तो मैं बहुत उत्सुक हूं?

उत्तर

38

हाँ, आप इस तरह manifest.json में content_scripts संपत्ति का उपयोग कर सकते हैं:

"content_scripts": [{ 
    "matches": ["http://*/*", "https://*/*"], 
    "js": ["content_frame.js"], 
    "all_frames": true 
}], 

true को all_frames सेटिंग आप इंजेक्षन जाएगा/द्वारा content_frame.js जावास्क्रिप्ट शीर्ष दस्तावेज़ और सभी iframes में फ़ाइल शामिल हैं।

if (parent === top) { 
    // here you can put your code that will run only inside iframe 
} 
+1

मैं सिर्फ एक शुरुआत कर रहा हूँ, मैं आज तक केवल एक ही विस्तार कोड जोड़ने के बाद: मामले में आप सिर्फ जावास्क्रिप्ट iframe में इंजेक्शन नहीं बल्कि शीर्ष दस्तावेज़ में आप इस तरह अपने content_frame.js फाइल के अंदर जांच कर सकते हैं की जरूरत है। क्या आपके पास कोई पूरा उदाहरण या कोई लिंक है जिसके माध्यम से मैं जा सकता हूं। –

+0

@coding_idiot मैंने अपना उत्तर थोड़ा और विस्तारित किया और सामग्री_स्क्रिप्ट का उपयोग करने के तरीके पर दस्तावेज़ों को जोड़ा। मुझे उम्मीद है कि अब यह और स्पष्ट है? –

+1

आप अपनी स्क्रिप्ट में एक कथन कथन करने के बजाए विशिष्ट फ्रेम को लक्षित करने के लिए 'include_globs' और' extrae_globs' का उपयोग कर सकते हैं: https://developer.chrome.com/extensions/content_scripts#include_globs – jkupczak