2013-02-10 23 views
8

Vì vậy, tôi đang thử nghiệm tạo tiện ích mở rộng chrome. Tôi hiểu rằng với Manifest v2 bạn không thể có javascript trong popup.html. Vì vậy, tôi đã chuyển javascript sang một tệp riêng biệt, popup.js.Tiện ích mở rộng cực kỳ đơn giản của Chrome không thêmEventListener vào sự kiện onclick trên nút

Tôi đang cố gắng có một nút đơn giản trong cửa sổ bật lên gọi cảnh báo thế giới xin chào, nhưng đơn giản là nó không hoạt động.

Hơn nữa, trình gỡ lỗi Yếu tố kiểm tra của Chrome không hiển thị bất kỳ lỗi nào.

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" 
    } 
} 

Bất kỳ ý tưởng?

Trả lời

12

Chỉ cần loại bỏ window.onload:

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

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

Cảm ơn! Tôi cũng nhận thấy rằng tôi đã sử dụng "onclick" thay vì "nhấp" làm sự kiện trong trình xử lý sự kiện. Phew! – LittleBobbyTables

+0

Thnx ..... tôi cũng đã đấu tranh về vấn đề này trong 2 giờ. Không mong muốn xóa window.onload ... Thnx lần nữa :) –

+0

không hoạt động cho 'options.js' – user924

Các vấn đề liên quan