【发布时间】:2015-06-28 20:16:24
【问题描述】:
Umbraco/TinyMce 都喜欢从编辑器中的任何绝对 URL 中去除基域。这是有问题的,因为我有一个 RSS 提要,它会抓取我的帖子,并每周通过电子邮件将它们发送给订阅者。问题是,图像(和链接,但我稍后会担心)如果它们的 URL 是相对的,显然将不起作用。
到目前为止,我已经完成了以下工作:
1) 添加到 tiny_mce_src.js:
convert_urls : false,
relative_urls : false,
remove_script_host : false,
与现有的相反,对于 Umbraco,convert_urls 必须设置为 false。
使用媒体内容选择器(或内置的 HTML 编辑器),这将保留输入的内容(直到保存/发布..)。否则,它会在关闭媒体内容选择器或内置 HTML 编辑器时去除基本域。
2) 下一个问题是内容创建者不想乱用 HTML,所以我需要媒体选择器在选择图片时自动拥有基本域。我在 insertImage.js 中对它进行了硬编码:
if (src.substring(0, umbracoPath.length) == umbracoPath) {
// if the path contains a reference to the umbraco path, it also contains a reference to go up one level (../)
src = src.substring(umbracoPath.length + 3, src.length);
}
var formObj = document.forms[0];
formObj.src.value = 'https://example.com' + src;
这会修复所有问题,直到发布和保存。基本上,在这个框架的丛林健身房的某个地方,如果适用,它会抓取当前域和子域,如果该域在富内容编辑器框中(例如在链接或图像 href/src 中),它将......将其剥离.
在上面的 insertImage.js 代码中使用 https://www.example.com/ 解决此问题,并确保您仅通过 https://example.com 访问后台.
但是,这将不起作用,因为我将有一些内容创建者使用 www,而有些则不会。此外,即使我没有硬编码而是说如果 www 在当前域中而不是在 insertImage.js 中的 www(反之亦然),如果员工 A(使用 www)转到员工 B 的旧帖子,最终会导致问题做了(不使用 www)并重新保存 - 它会将其推回相对 URL。
我的问题是:我在哪里可以在 Umbraco 框架中查看直接编辑此问题的来源?
【问题讨论】:
标签: javascript url tinymce umbraco