Chrome में, आप एक विस्तार है कि सभी रखती है बना सकते हैं यदि आप अपने js फ़ाइल liek इतना करने के लिए अपने पृष्ठ से एक रिश्तेदार पथ की कोशिश की है ... स्थानीय फ़ाइलों की जिन्हें आपको लोड करने की आवश्यकता है।
{
"name": "File holder",
"manifest_version": 2,
"version": "1.0",
"web_accessible_resources": ["test.js", "other.js", "yetanother.js"]
}
फिर, सभी स्क्रिप्ट आपको लगता है कि नई निर्देशिका में लोड करना चाहते डाल: यह के माध्यम से chrome-extension://...
file://...
के बजाय
एक नए फ़ोल्डर में manifest.json
नाम की एक फ़ाइल बनाने और साथ इसे भरने के लिए अपनी फ़ाइलें पहुंचा जा सकता है , और सुनिश्चित करें कि वे web_accessbile_reources
मेनिफेस्ट सूची में शामिल हैं। chrome://extensions
पर जाकर एक्सटेंशन लोड करें, Developer Mode
सक्षम करना और Load unpacked extension...
के साथ नया फ़ोल्डर चुनना।
अब आप chrome-extension://[app_id]/[file_name]
का उपयोग कर अपनी एक्सटेंशन निर्देशिका में सभी फ़ाइलों तक पहुंच सकते हैं, जहां chrome://extensions
पृष्ठ पर एक्सटेंशन के लिए सूचीबद्ध हैश app_id
"है। ध्यान दें कि प्रोटोकॉल और होस्टनाम अलग-अलग हैं जहां से आप अपना वास्तविक कार्य कर रहे हैं (जब तक कि आप एक्सटेंशन फ़ोल्डर में अपने सभी विकास करने का निर्णय नहीं लेते हैं, जो आपको स्वीकार्य हो सकता है), एक्सटेंशन संसाधन क्रॉस-डोमेन हैं और केवल हो सकते हैं <script>
टैग के माध्यम से लोड किया गया।
कंसोल से
अब, आप कर सकते हैं:
var s = document.createElement("script");
s.src = "chrome-extension://aefigdoelbemgaedgkcjpcnilbgagpcn/test.js";
document.body.appendChild(s);
(आपकी फ़ाइल मान लिया जाये कि test.js
है और आपके एप्लिकेशन id aefigdoelbemgaedgkcjpcnilbgagpcn
है।)
यह टाइप करने के लिए एक काफी सा, मुझे पता है, लेकिन शायद आप chrome-extension://[app_id]
भाग को शॉर्टेंड चर के रूप में स्टोर कर सकते हैं?
यदि हमें जावास्क्रिप्ट और ब्राउज़र के बाहर शाखा करने की अनुमति है, तो यहां स्थानीय सर्वर पर शायद आपकी स्क्रिप्ट की सेवा हो सकती है (शायद आप स्थानीय विकास कर रहे हैं)? आप पाइथन की एक पंक्ति के साथ एक स्थानीय सर्वर शुरू कर सकते हैं। – cheeken
@cheeken: हाँ, यह वास्तव में एक अच्छा विचार है .. I _do_ अपाचे स्थापित है, और मैं अपाचे फ़ोल्डर में अपना विकास करता हूं, इसलिए यह एक अच्छा विकल्प है! – Manishearth