3

在最近版本的Firefox 31+的startScroll(E)的功能被改變,而應與startScroll(scrolldir,screenX,screenY)火狐startScroll和sendAsyncMessage

DIFF變化被稱爲: https://hg.mozilla.org/integration/mozilla-inbound/diff/cc298e4b0f47/toolkit/content/widgets/browser.xml

變化之前,我可以從我的經典bootstrap.js擴展與手動啓動startScroll:

aWindow.gBrowser.selectedBrowser.startScroll(e); 

我已經收到了Mozilla的IRC頻道小費使用sendAsyncMessage "Autoscroll:Start",所以我嘗試過各種COM

aWindow.gBrowser.selectedBrowser.startScroll("NSEW", e.screenX, e.screenY); 
aWindow.gBrowser.selectedBrowser.messageManager.sendAsyncMessage("Autoscroll:Start", {scrolldir:"NSEW", screenX:e.screenX, screenY:e.screenY}); 

但沒有任何效果。我的問題

最低配置boostrap.js擴展可以在http://pastebin.com/azv1jePt

可以看到沒有任何人有任何想法如何手動在Firefox中直接從bootstrap.js擴展新版本開始自動滾屏,而無需使用任何腳本?

感謝
Senicar

+0

這是一個我不會冒險的出場人:( – Noitidart 2014-09-19 14:10:48

+0

有趣的發現雖然:http://mxr.mozilla.org/mozilla-release/source/toolkit/content/widgets/browser.xml#948 – Noitidart 2014-09-19 14:21:42

+0

@Noi tidart感謝您的關注,我想我將不得不在mozilla irc頻道上再次嘗試我的運氣,因爲我無法弄清楚。 – senicar 2014-09-19 19:15:59

回答

0

什麼工作對我來說是模擬從幀腳本中鍵鼠標按下事件(不需要調用startScroll也不sendAsyncMessage):

content.document.documentElement.dispatchEvent(new content.MouseEvent("mousedown", { 
    view: content, 
    bubbles: true, 
    cancelable: true, 
    button: 1, 
    screenX: /* anEvent.screenX */, 
    screenY: /* anEvent.screenY */ 
})); 

希望這有助於