在IE8瀏覽器中輸入卡的問題,主要是應為自動保存導致的
因為上一步下一步需要監聽輸入記錄,保存會很頻繁
即使在配置信息里 調整enableAutoSave: false 和saveInterval: 50000 作用都不大
因為監聽了輸入,下面一段的代碼 測試文本200kb,測試文本達到1M時,仍然會有卡頓
var isCollapsed = true;
me.addListener('keydown', function (type, evt) {
var me = this;
var keyCode = evt.keyCode || evt.which;
if (!keys[keyCode] && !evt.ctrlKey && !evt.metaKey && !evt.shiftKey && !evt.altKey) {
if (inputType)
return;
if(!me.selection.getRange().collapsed){
me.undoManger.save(false,true);
isCollapsed = false;
return;
}
if (me.undoManger.list.length == 0) {
me.undoManger.save(true);
}
clearTimeout(saveSceneTimer);
function save(cont){
cont.undoManger.save(false,true);
cont.fireEvent('selectionchange');
}
saveSceneTimer = setTimeout(function(){
if(inputType){
var interalTimer = setInterval(function(){
if(!inputType){
save(me);//------------------------------------------------------------
clearInterval(interalTimer)
}
},300)
return;
}
save(me);//------------------------------------------------------------
},200);
lastKeyCode = keyCode;
keycont++;
if (keycont >= maxInputCount ) {
save(me);---------------------------------------------------------------------當內容超過最大字符數量時,保存的更頻繁
}
}
});
當內容多時,做上一步下一也很慢
建議存在多內容編輯時可以把這個監聽拿掉,簡單點就是直接注釋save(me);