TinyMCE 4 imagetools 不适用于远程存储的图像
TinyMCE 4 imagetools not working for remotely stored images
TinyMCE 有一个名为 imagetools
的 plugin。这以前是有效的,但由于某种原因,现在上下文内联菜单将不再出现,我想恢复它。
这是我的初始化参数
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
即使删除这些设置并使用官方全功能演示页面的默认值,它仍然不起作用。
更新:
我和许多其他人上传图片的方式是先上传到服务器,然后服务器 returns 某种目录或 URL 传回 src
新上传的图像的属性,然后显示在编辑器中。换句话说,图像并没有作为 BLOB 或 Base64 存储在实际的编辑器中,而是作为 link 到外部资源。
在官方 TinyMCE 论坛上阅读更多内容后,this thread 上的一位 post 说了以下内容:
The imagetools inline toolbar will only show for local server images unless CORS or proxy is configured.
鉴于我的实现中的图像没有以 Base64 格式本地存储在编辑器中,这可能可以解释为什么高级工具栏没有出现——它无法对远程存储的图像进行编辑,除了CSS 可以在图像加载后添加到图像中……这就是我认为它会起作用的方式,但事实并非如此。
在这一点上,我更感兴趣的是如何获得这个 "CORS or Proxy configured" 以使这种高级编辑成为可能。这个question和我的有点关系
更新 2
我的应用程序是一个 HTTPS 网络应用程序,但我正在通过 HTTP 在编辑器中加载外部图像,这在控制台中引发了警告。一旦我删除了那个图像,那里只有 HTTPS 图像,高级菜单又开始出现了!现在的问题是,因为它是一个外部图像,在编辑器中对图像进行编辑会导致它被存储为一个 blob,所以很明显我需要调用某种可以将图像重新上传到服务器的函数.有人做过吗?
以下是一些可用于入门的资源:
- http://www.tinymce.com/wiki.php/Handling_Asynchronous_Image_Uploads
- http://www.tinymce.com/wiki.php/Configuration:images_upload_url
- http://www.tinymce.com/wiki.php/PHP_Upload_Handler
- http://www.tinymce.com/wiki.php/Configuration:images_upload_handler
- http://www.tinymce.com/wiki.php/Configuration:images_upload_base_path
- http://www.tinymce.com/forum/viewtopic.php?pid=116633
要回答我最初提出的问题,是这样的:
我的应用程序是一个 HTTPS 网络应用程序,但我正在通过 HTTP 在编辑器中加载外部图像,这在控制台中引发了警告。一旦我删除了那个图像,那里只有 HTTPS 图像,高级菜单又开始出现了!认识到这一点很重要……尤其是对于那些可能想知道为什么他们不能编辑从其他网页粘贴到那里的图片的用户。
总而言之,我明白了,但我不确定真正的解决方案是什么。
TinyMCE 有一个名为 imagetools
的 plugin。这以前是有效的,但由于某种原因,现在上下文内联菜单将不再出现,我想恢复它。
这是我的初始化参数
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
即使删除这些设置并使用官方全功能演示页面的默认值,它仍然不起作用。
更新:
我和许多其他人上传图片的方式是先上传到服务器,然后服务器 returns 某种目录或 URL 传回 src
新上传的图像的属性,然后显示在编辑器中。换句话说,图像并没有作为 BLOB 或 Base64 存储在实际的编辑器中,而是作为 link 到外部资源。
在官方 TinyMCE 论坛上阅读更多内容后,this thread 上的一位 post 说了以下内容:
The imagetools inline toolbar will only show for local server images unless CORS or proxy is configured.
鉴于我的实现中的图像没有以 Base64 格式本地存储在编辑器中,这可能可以解释为什么高级工具栏没有出现——它无法对远程存储的图像进行编辑,除了CSS 可以在图像加载后添加到图像中……这就是我认为它会起作用的方式,但事实并非如此。
在这一点上,我更感兴趣的是如何获得这个 "CORS or Proxy configured" 以使这种高级编辑成为可能。这个question和我的有点关系
更新 2
我的应用程序是一个 HTTPS 网络应用程序,但我正在通过 HTTP 在编辑器中加载外部图像,这在控制台中引发了警告。一旦我删除了那个图像,那里只有 HTTPS 图像,高级菜单又开始出现了!现在的问题是,因为它是一个外部图像,在编辑器中对图像进行编辑会导致它被存储为一个 blob,所以很明显我需要调用某种可以将图像重新上传到服务器的函数.有人做过吗?
以下是一些可用于入门的资源:
- http://www.tinymce.com/wiki.php/Handling_Asynchronous_Image_Uploads
- http://www.tinymce.com/wiki.php/Configuration:images_upload_url
- http://www.tinymce.com/wiki.php/PHP_Upload_Handler
- http://www.tinymce.com/wiki.php/Configuration:images_upload_handler
- http://www.tinymce.com/wiki.php/Configuration:images_upload_base_path
- http://www.tinymce.com/forum/viewtopic.php?pid=116633
要回答我最初提出的问题,是这样的:
我的应用程序是一个 HTTPS 网络应用程序,但我正在通过 HTTP 在编辑器中加载外部图像,这在控制台中引发了警告。一旦我删除了那个图像,那里只有 HTTPS 图像,高级菜单又开始出现了!认识到这一点很重要……尤其是对于那些可能想知道为什么他们不能编辑从其他网页粘贴到那里的图片的用户。
总而言之,我明白了,但我不确定真正的解决方案是什么。