기본적으로이 코드 행을이 파일에 첨부해야합니다. 내가 그렇게 할 때 http://mxr.mozilla.org/mozilla-central/source/mobile/android/chrome/content/aboutDownloads.js이벤트 핸들러를 자바 스크립트 함수로 이동
window.addEventListener("DOMContentLoaded", function() {handle_events();}, true);
window.addEventListener("unload", function() {Downloads.uninit();}, false);
function handle_events(){
window.addEventListener("DOMContentLoaded", function() {Downloads.init();}, true);
document.getElementById("contextmenu-open").addEventListener("click", ContextMenus.open, false);
document.getElementById("contextmenu-retry").addEventListener("click", ContextMenus.retry, false);
document.getElementById("contextmenu-remove").addEventListener("click", ContextMenus.remove, false);
document.getElementById("contextmenu-pause").addEventListener("click", ContextMenus.pause, false);
document.getElementById("contextmenu-resume").addEventListener("click", ContextMenus.resume, false);
document.getElementById("contextmenu-cancel").addEventListener("click", ContextMenus.cancel, false);
document.getElementById("contextmenu-removeall").addEventListener("click", ContextMenus.removeAll, false);
}
는, 나는
JavaScript Error: "TypeError: aElement is undefined" {file: "chrome://browser/content/aboutDownloads.js" line: 435}
여러 번 말을 자바 스크립트 오류가 발생합니다. 이 문제를 어떻게 해결할 수 있습니까? 이것은 안드로이드 프로젝트를위한 파이어 폭스의 코드의 일부입니다.
변경 사항을 적용하고 지금 건물을 만들었으므로 어떻게 Downloads.init() 함수를 실행할 수 있습니까? 이벤트없이 이벤트 처리기를 연결할 수 없습니다! – Madushan
'handle_events()'의 첫 번째 줄에서'Downloads.init()'를 직접 호출하면됩니다. DOM이 이미로드되어 있기 때문에 이벤트를 기다릴 필요가 없습니다. – jfriend00
효과가있었습니다. 이전에'DOMContentLoaded'가 이미 완료 되었기 때문에 Downloads.init() 함수가 트리거되지 않았습니다. 답변으로 표시하고 있습니다 :) – Madushan