2012-07-18 18 views
27

मैं मूल रूप से एक तत्व हाइलाइटर क्रोम एक्सटेंशन बनाने की कोशिश कर रहा हूं। कार्यप्रवाह: - ब्राउज़र आइकन पर क्लिक करें - पेज पर क्लिक करें - हाइलाइट तत्व क्लिकब्राउज़र क्रिया पर क्रोम एक्सटेंशन सम्मिलित सामग्री स्क्रिप्ट

मैं manifest_version का उपयोग कर ब्राउज़र कार्य पर सामग्री स्क्रिप्ट चला में मुसीबतों कर रहा हूँ: 2 जब मैं पॉपअप दिखाई देने वाले का निरीक्षण यह कहता है : "स्क्रिप्ट src 'स्वयं' क्रोम एक्सटेंशन-संसाधन::"

इनलाइन स्क्रिप्ट निष्पादित करने के लिए है क्योंकि इसमें यह सामग्री सुरक्षा नीति के निर्देश का उल्लंघन करती है इनकार कर दिया (popup.html: 5)।

है कौन सा जहां popup.html में इनलाइन स्क्रिप्ट है और स्क्रिप्ट काम नहीं करता है

मेरे पास है:

manifest.json:

{ 
    "browser_action": { 
     "default_icon": "images/icon.gif", 
     "default_popup": "popup.html" 
    }, 
    "manifest_version": 2, 
    "description": "MEH!", 
    "name": "My First Extension", 
    "permissions": [ 
     "tabs", "http://*/*", "https://*/*" 
    ], 
    "version": "0.1" 
} 

popup.html:

<html> 
    <head> 
    </head> 
    <body> 
    <script> 
     chrome.tabs.executeScript(null,{ 
     code:"document.body.style.backgroundColor='red'" 
     }); 
    </script> 
    <div id='msg' style="width:300px">...</div> 
    </body> 
</html> 

कोई भी मदद बहुत सराहना की जाएगी एड

+0

संभावित डुप्लिकेट पॉपअप काम नहीं कर रहा है, ईवेंट पर क्लिक नहीं किया जाता है] (http://stackoverflow.com/questions/17601615/the-chrome-extension-popup-is-not-working-click -वृत्त-नियंत्रित नहीं हैं) – Makyen

उत्तर

44

बाहर कर देता है मैं त्रुटि ठीक से जब तक मैं यहाँ में इसे देखा

जाहिर प्रकट v2 आप इनलाइन स्क्रिप्ट के लिए अनुमति नहीं है नहीं पढ़ सकता है, तो आप सिर्फ

src="path_to_the_file.js" 
+3

उन लोगों के लिए जिन्हें अभी भी उत्तर नहीं मिलता है, देखें http://stackoverflow.com/a/17612988/938089 –

+1

आप कहां डाल रहे हैं? यह जवाब स्पष्ट नहीं है। शरीर के अंदर – Doug

+0

। तो डालने की बजाय आप एक स्क्रिप्ट डालेंगे जो फ़ाइल के लिए इंगित करता है, उर्फ ​​ पृष्ठ के HTML के अंदर (जैसे HEAD या what- नहीं) – Stefan

0

विस्तार में करने की जरूरत है @ tak3r के उत्तर और @ डौग की टिप्पणी:

इनलाइन स्क्रिप्ट को बाहरी स्क्रिप्ट में बदलने की आवश्यकता है।

ले जाएँ:

<script> 
    chrome.tabs.executeScript(null,{ 
    code:"document.body.style.backgroundColor='red'" 
    }); 
</script> 

एक नई फ़ाइल के लिए main.js कहा जाता है और <script></script> टैग

शामिल करें अपने HTML के <head></head> में निम्नलिखित को दूर

<script type="text/javascript" src="main.js"></script> 
[Chrome एक्सटेंशन
संबंधित मुद्दे

 संबंधित मुद्दे