मुझे अपने क्रोम एक्सटेंशन में बाहरी जेएस-स्क्रिप्ट को लोड करने और निष्पादित करने में समस्या है। this question जैसा दिखता है, लेकिन मैं अभी भी यह नहीं समझ सकता कि यह मेरे मामले में क्यों काम नहीं करता है।क्रोम एक्सटेंशन: बाहरी स्क्रिप्ट लोड और निष्पादित करें
विचार यह है कि मैं अपनी सामग्री स्क्रिप्ट में कुछ डिफ़ॉल्ट फ़ंक्शन चाहता हूं जो वेब पेज सामग्री को पार्स करना चाहिए। और कुछ विशिष्ट वेब-पेजों के लिए मैं विशिष्ट पार्सर्स को लोड और उपयोग करना चाहता हूं, इसलिए मैं एक वीपी-पेज के लिए उचित जेएस-स्क्रिप्ट लोड करने का प्रयास करता हूं, और यह स्क्रिप्ट डिफ़ॉल्ट पार्सर की कार्यक्षमता को बढ़ा देती है।
अब तक मैं केवल बाहरी स्क्रिप्ट से कोड निष्पादित करने का प्रयास करें, लेकिन इस तरह त्रुटि है:
{
"name": "Extension name",
"version": "1.2",
"description": "My chrome extension",
"browser_action": {
"default_popup": "popup.html",
},
"content_scripts": [{
"css": [
"style.css"
],
"js": [
"bower_components/jquery/dist/jquery.js",
"bower_components/bootstrap/dist/js/bootstrap.js",
"content.js"
],
"matches": ["*://*/*"]
}],
"web_accessible_resources": [
"frame.html",
"logo-48.png"
],
"icons": {
"16": "logo-16.png",
"48": "logo-48.png",
"128": "logo-128.png"
},
"permissions": [
"tabs",
"storage",
"http://*/",
"https://*/"
],
"manifest_version": 2
}
यह पॉपअप है: यह मेरा manifest.json है Unchecked runtime.lastError while running tabs.executeScript: No source code or file specified at Object.callback
.html
<!doctype html>
<html>
<head>
<title>Title</title>
<script src="popup.js"></script>
</head>
<body>
<ul>
<li>Some link</li>
</ul>
</body>
</html>
और में popup.js मैं इस तरह कंपनी के शेयर में निष्पादित करें:
chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
chrome.tabs.executeScript(tabs[0].id, {file: "http://127.0.0.1:8000/static/plugin/somesite.js"});
});
क्या मैं डोंग गलत है, मैं कुछ याद था कि कर रहा हूँ? या मुझे इस मुद्दे को हल करने के लिए एक और दृष्टिकोण का उपयोग करना चाहिए?
टिप्पणी (आपकी त्रुटि से कनेक्ट नहीं): 'http: // * /" केवल शीर्ष स्तर वाले पृष्ठों से मेल खाता है। यदि आपको केवल वर्तमान टैब तक पहुंच की आवश्यकता है तो आप या तो "" या "व्यापक अनुमति" के लिए चाहते हैं। –
Xan
क्या कोई कारण है कि आपके पास अपने एक्सटेंशन में 'somesite.js' लोड नहीं हो सकता है? – Teepeemm
अंतिम त्रुटि को पकड़ने के लिए, https://stackoverflow.com/a/45603880/632951 – Pacerier