2011-09-27 7 views
6

Ho un'installazione TinyMCE su un CMS e gli utenti hanno incollato in immagini che sono del tipo di dati in linea. Questo genere di cose:Come posso configurare TinyMCE in modo che non consenta immagini di dati in linea?

<img src="data:image/gif;base64,R0lGODlhEAAOALMAAOazToeHh0tLS/7LZv/0jvb29t/f3//Ub/ 
/ge8WSLf/rhf/3kdbW1mxsbP//mf///yH5BAAAAAAALAAAAAAQAA4AAARe8L1Ekyky67QZ1hLnjM5UUde0ECwLJoExKcpp 
V0aCcGCmTIHEIUEqjgaORCMxIC6e0CcguWw6aFjsVMkkIr7g77ZKPJjPZqIyd7sJAgVGoEGv2xsBxqNgYPj/gAwXEQA7" 
width="16" height="14" alt="embedded folder icon"> 

Sono incollati in alcune immagini piuttosto grandi e il contenuto viene archiviato in un database. In questo modo il database cresce molto rapidamente e c'è già un componente di caricamento multimediale disponibile, quindi come posso semplicemente impedire all'editor di accettare questo tipo di immagine?

+1

+1 buona domanda – Thariama

risposta

2

Questo dipende da ciò che si desidera. Dato che non potrai disabilitare questo tipo di elemento usando valid_elements e child_elements dovrai andare in altri modi.

Caso 1: Non si desidera che l'utente inserisca questo tipo di immagine inPaste.

Sarà necessario usare il plugin pasta e impostare il parametro paste_pre

paste_preprocess : function(pl, o) { 
    window.console && console.log('Object', o); 
    window.console && console.log('Content:', o.content); 

    // modify o.content here -> remove images of that kind 
    o.content = o.content.substr(...) 
} 

Caso 2: si desidera che le immagini per essere filtrati prima di essere sempre salvati nel DB.

È possibile utilizzare il tinymce setup paramter combined with onSave per sbarazzarsi di loro.

Da quello che lei descrive sembrano mancare 1.

+1

L'altro caso (# 3) sarebbe quando un utente trascina un'immagine nell'editor pure il caso. Firefox (e alcuni altri browser) convertono l'immagine in un URI di dati. Questo non viene catturato dal callback paste_preprocess. C'è un'opzione 'paste_block_drop' che può essere impostata su' true' che interrompe il trascinamento delle immagini, ma sfortunatamente diminuisce anche il trascinamento del contenuto all'interno dell'editor. Tiny MCE 4.x ha una nuova opzione per prevenire l'URI dei dati. –

Problemi correlati