首先背景:取消網頁前進/後退快捷鍵在Firefox與Greasemonkey的
在Firefox 3.6.3在Mac OS X 10.5.8輸入文本時爲標準命令+ LEFTARROW和Command +向右鍵的熱鍵組合將光標分別跳到當前行的開始/結束位置。但是,當使用CKEditor,FCKEditor和YUI Editor時,Firefox似乎並不完全認識到它是一個文本區域。相反,它會退回到在瀏覽器歷史記錄中後退/前進的熱鍵的默認功能。發生這種情況後,編輯器中的文本也會在您返回到頁面時被清除,這樣就很容易丟失正在處理的內容。
我正在嘗試編寫一個greasemonkey腳本,我可以使用它捕獲事件並防止執行頁面前移/後退跳轉。到目前爲止,我已經能夠看到事件與以下用作一個的GreaseMonkey腳本.user.js:
document.addEventListener('keypress', function (evt) {
// grab the meta key
var isCmd = evt.metaKey;
// check to see if it is pressed
if(isCmd)
{
// if so, grab the key code;
var kCode = evt.keyCode;
if(kCode == 37 || kCode == 39)
{
alert(kCode);
}
}
}, 假 );
安裝時/啓用後,按命令+左|右箭頭鍵彈出與相應的代碼的警告,但一旦對話框關閉,瀏覽器執行頁前進/後退的舉動。我試着用evt.keyCode = 0設置一個新的代碼,但那不起作用。
所以,問題是,可以更新Greasemonkey腳本,以防止後退/前進頁面移動? (注意:我也願意接受其他解決方案,不必是Greasemonkey,這只是我嘗試過的方向,真正的目標是能夠禁用前進/後退熱鍵功能。 )
我嘗試了幾次,但由於某種原因,上面的代碼片段不會保留在代碼突出顯示的區域。如果你複製這個,確保你得到最後的「},false);」部分。 – 2010-05-30 02:15:58