As ferramentas de imagem do TinyMCE 4 não funcionam para imagens armazenadas remotamente
O TinyMCE possui umplugar chamadoimagetools
. Isso já estava funcionando antes, mas, por alguma razão, agora o menu contextual embutido não aparecerá mais e eu gostaria de tê-lo de volta.
Aqui estão meus parâmetros init
schema: 'html5',
inline: false,
toolbar: 'bold italic underscore image',
menubar: true,
plugins: [
"advlist autolink lists link hr anchor pagebreak",
"searchreplace wordcount visualblocks visualchars code fullscreen",
"insertdatetime nonbreaking table contextmenu directionality",
"template paste textcolor colorpicker textpattern imagetools autoresize"
],
paste_data_images: false,
browser_spellcheck : true,
image_advtab: true,
toolbar1: "undo redo | styleselect | bold italic | preview | forecolor backcolor | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link",
tools: "inserttable image fullscreen",
responsive: true,
paste_retain_style_properties: "all",
relative_urls: false,
remove_script_host : false,
convert_urls : true
Mesmo depois de excluir essas configurações e usar os valores padrão da página de demonstração oficial com todos os recursos, AINDA NÃO funciona.
ATUALIZAR:
A maneira como eu, e muitas outras pessoas, carregamos imagens, é carregar no servidor e, em seguida, o servidor retorna algum tipo de diretório ou URL que é passado de volta para o servidor.src
atributo da imagem recém-carregada, que é exibida no editor. Em outras palavras, as imagens não são armazenadas no editor real como BLOBs ou Base64, mas como um link para um recurso externo.
Depois de ler mais no fórum oficial do TinyMCE, um post noesta discussão diz o seguinte:
A barra de ferramentas em linha imagetools será exibida apenas para imagens do servidor local, a menos que o CORS ou o proxy esteja configurado.
Dado que as imagens na minha implementação não são armazenadas localmente no editor como Base64, provavelmente explicaria por que a barra de ferramentas avançadas não está aparecendo - ela não pode fazer edições na imagem armazenada remotamente, além do que é possível com CSS que pode ser adicionado à imagem depois que ela foi carregada .... É assim que eu assumi que funcionaria, mas parece não ser o caso.
Neste ponto, estou mais interessado em obter esse "CORS ou Proxy configurado" para possibilitar essa edição avançada. estePergunta, questão está um pouco relacionado ao meu.
ATUALIZAÇÃO 2
Meu aplicativo é um aplicativo da web HTTPS, mas eu estava carregando uma imagem externa no editor via HTTP que lançava um aviso no console. Depois que removi a imagem e só havia imagens HTTPS lá, o menu avançado começou a aparecer novamente! Agora, o problema é que, como se trata de uma imagem externa, fazer edições na imagem no editor fará com que ela seja armazenada como um blob, então, claramente, preciso chamar algum tipo de função que possa reenviar a imagem para o servidor . Alguém já fez isso?
Aqui estão alguns recursos que podem ser usados para começar:
http://www.tinymce.com/wiki.php/Handling_Asynchronous_Image_Uploadshttp://www.tinymce.com/wiki.php/Configuration:images_upload_urlhttp://www.tinymce.com/wiki.php/PHP_Upload_Handlerhttp://www.tinymce.com/wiki.php/Configuration:images_upload_handlerhttp://www.tinymce.com/wiki.php/Configuration:images_upload_base_pathhttp://www.tinymce.com/forum/viewtopic.php?pid=116633