2014-03-06 3 views

답변

0

나는 해결책을 찾았지만 @Neil가 viewSource.js보고 HERE 소위 항목에서 권장 한대로이 nsIController를 사용하지 않습니다.

가능한 경우 nsIController 솔루션에 관심이있는 임씨. 저를 혼란스럽게하는 것을 이해하려고합니다. 그렇지 않으면 브라우저 스레드를 느리게하기 때문에

var mylis = { 
    timeout: 0, 
    notifySelectionChanged: function(doc, sel, reason) 
    { 
     if (!this.timeout) { 
      this.timeout = setTimeout(function() { 
       console.log('notifySelectionChanged','doc=',doc,'sel=',sel,'reason=',reason); 
       mylis.timeout = 0; 
      }, 1000); 
     } 
    } 
} 

gBrowser.contentWindow.getSelection().QueryInterface(Ci.nsISelectionPrivate).addSelectionListener(mylis); 

//gBrowser.contentWindow.getSelection().QueryInterface(Ci.nsISelectionPrivate).removeSelectionListener(mylis); 

제한 시간이 중요하다

그래서 이것은 선택하면 관찰자는 방법이다. 당신은 당신이 그것의 모든 gimicky를 강조 할 때 볼 수 있습니다. viewSource.js는 100ms를 사용 했으므로 다시 언급하겠습니다.

MXR - viewSource.js