0
是否有可能使用nsISelectionController來監視高亮/選擇的時間?觀察突出顯示?
我知道有不同的選擇範圍。我想觀看用戶在MXR - nsISelectionController Constants的默認範圍內進行選擇。
有點像在選擇更改上的addEventListener,但是在文檔的文本節點上。
感謝
是否有可能使用nsISelectionController來監視高亮/選擇的時間?觀察突出顯示?
我知道有不同的選擇範圍。我想觀看用戶在MXR - nsISelectionController Constants的默認範圍內進行選擇。
有點像在選擇更改上的addEventListener,但是在文檔的文本節點上。
感謝
我發現了一個解決方案,但它不使用nsIController作爲@Neil在SO話題HERE曾建議看viewSource.js。
我仍然感興趣的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);
超時很重要,因爲否則會在瀏覽器線程放緩。你可以看到你突出它的所有噱頭。 viewSource.js使用了100ms,所以我會重新考慮。