跨域资源共享相关选项
crossorigin
crossorigin 选项控制 TinyMCE 如何处理跨域资源加载。此选项接受一个函数,该函数根据正在加载的资源确定适当的 crossorigin 属性值。
类型: (url: string, resourceType: 'script' | 'stylesheet') => string
对于 Tiny Cloud:一个函数,对于云资源返回
'anonymous',对于其他资源则省略该属性。对于自托管版本:一个函数,对于所有资源都省略 crossorigin 属性。
可能的值:一个返回以下值之一的函数:
'anonymous'- 设置 crossorigin="anonymous"。'use-credentials'- 设置 crossorigin="use-credentials"。undefined- 完全省略 crossorigin 属性。
示例:基本配置
const crossOriginFunction = (url, resourceType) => {
// 在这里返回 'anonymous' 或 'use-credentials' 将显式设置该属性
return 'anonymous';
// return 'use-credentials';
// return undefined; // 通过返回 undefined 为所有资源省略 'crossorigin' 属性
};
tinymce.init({
selector: "textarea",
crossorigin: crossOriginFunction
});当从 Tiny Cloud 加载 TinyMCE 时:
初始 script 标签必须包含
crossorigin="anonymous"和referrerpolicy="origin"。示例:
<script src="https://cdn.tiny.cloud/1/no-api-key/tinymce/8/tinymce.min.js" referrerpolicy="origin" crossorigin="anonymous"></script>
crossorigin 函数针对 TinyMCE 加载的脚本和样式表都会运行。
使用
'anonymous'将发送不带凭据的 Origin 标头。使用
'use-credentials'将发送带凭据的 Origin 标头(大多数情况下不推荐)。返回
undefined表示不会设置 crossorigin 属性,因为该属性会为资源完全省略。对于样式表资源,
content_css_cors选项的优先级高于crossorigin函数。有关跨域样式表加载的详细信息,请参阅:content_css_cors。
有关 crossorigin 属性的更多详细信息,请参阅:MDN Web 文档 - HTML 属性:crossorigin。
referrer_policy
用于设置加载插件和 CSS 时发送的 referrer 信息级别。Referrer 策略可用于:
提高最终用户的隐私性。
协助服务器端过滤针对 TinyMCE 资源的跨域请求。
类型: String
有关有效的 referrer 策略(指令)列表,请参阅:MDN Web 文档 - Referrer-Policy。
示例:使用 referrer_policy
tinymce.init({
selector: 'textarea', // 根据你的 HTML 更改此值
referrer_policy: 'origin'
});content_css_cors
此选项已被标记为已弃用。它将在即将发布的 TinyMCE 9.0 版本中被完全移除。作为替代方案,我们建议改用 crossorigin。当 content_css_cors 设置为 true 时,编辑器会在 StyleSheetLoader 加载 content_css 时使用的 link 标签上添加 crossorigin="anonymous" 属性。这允许您将 content_css 托管在与编辑器本身不同的服务器上。
类型: Boolean
默认值: false
可能的值: true, false
示例:使用 content_css_cors
// File: http://domain.mine/mysite/index.html
tinymce.init({
selector: 'textarea', // 根据你的 HTML 更改此值
content_css: 'http://www.somewhere.example/mycontent.css',
content_css_cors: true
});editimage_cors_hosts
由于浏览器对所谓的跨域 HTTP 请求施加了安全措施,图像编辑插件无法处理来自其他域的图像。要克服这些限制,必须在指定的域上显式启用跨域资源共享 (CORS)(有关更多信息,请查看 HTTP 访问控制)。
可以通过 editimage_cors_hosts 选项向 TinyMCE 提供一个支持(已启用 CORS)的图像域数组。
数组中的每个字符串必须采用example.com的格式。请勿在域中包含协议(例如http://, https://)或任何尾部斜杠。
当通过 Tiny Cloud 启用此插件时,editimage_cors_hosts 是非必需的。类型: Array
默认值: []
示例:editimage_cors_hosts
tinymce.init({
selector: 'textarea', // 根据您的HTML修改此值
toolbar: 'editimage',
plugins: 'image editimage',
editimage_cors_hosts: [ 'example.com', 'example.net' ]
});export_cors_hosts
由于浏览器对所谓跨源 HTTP 请求实施了安全措施,Export 插件无法处理来自其他域的图片。为解决此限制,必须在指定域中明确启用跨源资源共享(CORS)(欲了解更多信息,请参阅 HTTP 访问控制)。
可以通过 export_cors_hosts 选项向 TinyMCE 提供支持 CORS 的图片域数组。
数组中的每个字符串必须采用example.com格式。请勿在域中包含协议(例如http://, https://)或任何结尾斜杠。
若通过 Tiny Cloud 启用此插件,则无需设置 export_cors_hosts。类型:Array
默认值:[]
示例:export_cors_hosts
tinymce.init({
selector: 'textarea', // 根据您的HTML修改此值
toolbar: 'export',
plugins: 'image export',
export_cors_hosts: [ 'example.com', 'example.net' ]
});