2015-04-27 9 views
5

Dopo aver impostato blurDelay = 0, quindi fare clic su Grassetto e fare clic su Incolla nella barra degli strumenti, verrà generato l'errore di seguito.Errore CKEditor, Uncaught IndexSizeError: Impossibile eseguire 'estendere' su 'Selezione': 1 è maggiore della lunghezza del nodo dato

Uncaught IndexSizeError: impossibile eseguire 'estendere' su 'Selezione': 1 è più grande della lunghezza del nodo specificato.

versione CK: "4.4.6", la revisione: "08188c4"

Solo in Chrome, IE e FF andrà bene

jsfiddle: http://jsfiddle.net/mfine2/98rwv6Lt/

biglietto bug: http://dev.ckeditor.com/ticket/13241

codice javascript.

CKEDITOR.focusManager._.blurDelay = 0; 

var ck = CKEDITOR.replace('editor1', { 
    fullPage: true 
}); 

ck.on("blur", function(evt){ 
    console.log(this.getData()); 
}); 
+1

Qual è la domanda? Se si tratta di un bug report, è preferibile segnalarlo su http://dev.ckeditor.com – Reinmar

+0

La domanda è nel nostro codice, perderà l'attenzione a causa dell'errore. –

+0

Grazie, segnalerò un bug. –

risposta

1

ho controllato il vostro banco di prova e non c'è errore di essere gettato nei browser Blink solo (IE e lavoro FF fine) ma si stanno manipolando la proprietà privata http://docs.ckeditor.com/#!/api/CKEDITOR.focusManager._-property-blurDelayche è per uso interno di CKEditor solo .

Uno dei motivi per cui utilizziamo proprietà come questa è la rimozione di sottili differenze tra i browser o gli errori che potrebbero essere generati in determinati scenari. Quando lasci questa proprietà intatta non c'è nessun errore e penso che lo riassuma. Non dovresti manipolare le proprietà interne dell'editor.

+0

Ottenuto quello, ma il nostro codice dipende dalla proprietà blurDelay = 0, quindi hai qualche altra soluzione? –

1

Il problema si verifica è probabilmente legato a: https://github.com/ryancramerdesign/ProcessWire/issues/1335

The issue is that CKEditor's getData() method fails (and produces a JS error) when called before the field is blurred, after certain conditions (like inserting an image)

E 'stato un bug che colpisce Chrome, Opera e Safari. Lanciare lo stesso errore JS.
Bug FISSO da CKE v4.5.5

Ancora da testare con la modifica di blurDelay.