2010-07-04 2 views
1

내 확장 프로그램에 내 자신의 콘솔을 사용하여 다양한 디버그 정보를 인쇄하고 싶습니다. 나는내 자신의 콘솔을 XPCOM으로 구현하는 것에 대한 조언

window.open("chrome://myextension/content/console.xul"..

을하고 그 윈도우의 텍스트 상자에 인쇄하여 내가 그렇게 할 거라 생각 했어요. 이미 여기 뭔가 잘못 보이십니까? =)

이제는 작은 문제가 생겼습니다. window.open이 즉시 반환되고 계속해서 바로 myconsole.log ("boo") 함수를 사용하면 새로 열린 창의 내용이 아직로드되지 않고 나는 오류를 얻을 것이다. 즉, 콘솔에 인쇄하기 전에 콘솔이 완료 될 때까지 기다려야합니다. 그것을하는 올바른 방법은 무엇입니까? 이미로드 된 경우 검사를 계속하기 위해 nsITimer 또는 thread.sleep을 log 메서드 내부에서 사용할 수 있지만이 방법은 좋지 않습니다. Window.onload 이벤트를 올바르게 사용할 수있는 방법도 알지 못합니다. 볼 수있는 유일한 방법은 window.onload = function() {모든 내 확장 코드 ..}와 같은 방법이기 때문에 마음에 들지 않습니다.

는 나는이

console = Cc["@myconsole;1"].getService().wrappedJSObject; 
console.log("foo"); 

어떤 조언처럼 언제 어디서나 어떻게 든 사용하려면? 나는 그것을 구현 한 것

+0

당신은 로그 항목의 목록을 유지 수 있고, 당신의 로그() 함수를 호출 성공할 때까지 타이머에 try 블록을 쓴 다음 목록을 플러시합니다. –

답변

관련 문제