2013-02-10 14 views
8

तो मैं क्रोम एक्सटेंशन बनाने का परीक्षण कर रहा हूं। मैं समझता हूं कि मैनिफेस्ट v2 के साथ आप popup.html में जावास्क्रिप्ट नहीं रख सकते हैं। इसलिए, मैंने जावास्क्रिप्ट को एक अलग फ़ाइल, popup.js में ले जाया है।अल्ट्रा सरल क्रोम एक्सटेंशन ऐडवेंट लिस्टनर को बटन पर क्लिक करने के लिए नहीं जोड़ता

मैं एक पॉपअप में एक साधारण बटन रखने की कोशिश कर रहा हूं जो हैलो वर्ल्ड अलर्ट कहता है, लेकिन यह बस काम नहीं कर रहा है।

इसके अलावा, क्रोम का निरीक्षण तत्व डीबगर कोई त्रुटि नहीं दिखाता है।

popup.html

<html> 
    <head> 
     <title>Test</title> 
     <script language='javascript' src='popup.js'></script> 
    </head> 
    <body> 
     <form name='testForm'> 
      <input type='button' id='alertButton' value='click me'> 
     </form> 
    </body> 
</html> 

popup.js

function myAlert(){ 
    alert('hello world') 
} 

window.onload = function(){ 
    document.addEventListener('DOMContentLoaded', function() { 
     document.getElementById('alertButton').addEventListener('onclick', myAlert); 
    }); 
} 

manifest.json

{ 
    "manifest_version": 2, 
    "name": "Test", 
    "description": "Test Extension", 
    "version": "1.0", 

    "icons": { 
    "48": "icon.png" 
    }, 

    "permissions": [ 
    "http://*/*", 
    "https://*/*" 
    ], 

    "browser_action": { 
    "default_title": "This is a test", 
    "default_icon": "icon.png", 
    "default_popup": "popup.html" 
    } 
} 

कोई भी विचार?

उत्तर

12

बस window.onload निकालें:

function myAlert(){ 
    alert('hello world'); 
} 

document.addEventListener('DOMContentLoaded', function() { 
    document.getElementById('alertButton').addEventListener('click', myAlert); 
}); 
+1

धन्यवाद! मैंने यह भी देखा कि मैं ईवेंट श्रोता में ईवेंट के रूप में "क्लिक" के बजाय "ऑनक्लिक" का उपयोग कर रहा था। ओह! – LittleBobbyTables

+0

Thnx ..... मैं 2 घंटों तक भी इस पर संघर्ष कर रहा था। विंडो को हटाने की उम्मीद नहीं थी। डाउनलोड करें ... फिर से Thnx :) –

+0

'options.js' के लिए काम नहीं करता है – user924