我一直试图阻止 Umbraco 的 tinyMCE 编辑器的最新版本自动剥离任何脚本标签。这在几个月前还能正常工作。据我所知,Umbraco 还没有更新。
我尝试了许多解决方案,大部分在这个帖子中总结了出来。https:/our.umbraco.orgforumusingui-questions48866-RTE-not-updating-to-show-new-HTML-tags-in-Umbraco-7。
我已经编辑了 umbracoSettings.config。
<content>
<TidyEditorContent>False</TidyEditorContent>
<errors>...
并且在 tinyMceConfig.config 中允许所有的 validElements。
<validElements><![CDATA[*[*]]]></validElements>
最后我修改了 wed.config,以强制 Umbraco 重载。
我仍然无法保存脚本标签?
感谢任何建议。
首先,这是一个非常糟糕的想法 (tm) - 不要这样做 - 你会给它带来各种各样的问题。
更好的方法是开发一个宏,将一个文本块作为参数,并使该宏可以在Richtext Edit控件中使用。
然后,你的宏脚本可以以任何你想要的方式呈现输入,包括使用脚本标签(这可能应该是宏脚本的一部分)。 这样你就可以完全控制渲染的内容。
我知道这是旧的,但这在7+的所有版本上都可以使用。
要使 javascript 能够添加到编辑器中,您需要更改以下内容。
您需要替换 config > tinyMceConfig.config 文件中的一些配置。
<![CDATA[+a[id|style|rel|data-id|data-udi|rev|charset|hreflang|dir|lang|tabindex|accesskey|type|name|href|target|title|class|onfocus|onblur|onclick|
ondblclick|onmousedown|onmouseup|onmouseover|onmousemove|onmouseout|onkeypress|onkeydown|onkeyup],-strong/-b[class|style],-em/-i[class|style],
-strike[class|style],-u[class|style],#p[id|style|dir|class|align],-ol[class|reversed|start|style|type],-ul[class|style],-li[class|style],br[class],
img[id|dir|lang|longdesc|usemap|style|class|src|onmouseover|onmouseout|border|alt=|title|hspace|vspace|width|height|align|umbracoorgwidth|umbracoorgheight|onresize|onresizestart|onresizeend|rel|data-id],
-sub[style|class],-sup[style|class],-blockquote[dir|style|class],-table[border=0|cellspacing|cellpadding|width|height|class|align|summary|style|dir|id|lang|bgcolor|background|bordercolor],
-tr[id|lang|dir|class|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor],tbody[id|class],
thead[id|class],tfoot[id|class],#td[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|bgcolor|background|bordercolor|scope],
-th[id|lang|dir|class|colspan|rowspan|width|height|align|valign|style|scope],caption[id|lang|dir|class|style],-div[id|dir|class|align|style],
-span[class|align|style],-pre[class|align|style],address[class|align|style],-h1[id|dir|class|align|style],-h2[id|dir|class|align|style],
-h3[id|dir|class|align|style],-h4[id|dir|class|align|style],-h5[id|dir|class|align|style],-h6[id|style|dir|class|align|style],hr[class|style],small[class|style],
dd[id|class|title|style|dir|lang],dl[id|class|title|style|dir|lang],dt[id|class|title|style|dir|lang],object[class|id|width|height|codebase|*],
param[name|value|_value|class],embed[type|width|height|src|class|*],map[name|class],area[shape|coords|href|alt|target|class],bdo[class],button[class],iframe[*],script[language|type|src]]]>
</validElements>
<invalidElements>font</invalidElements>
<!-- this area is for custom config settings that should be added during TinyMCE initialization -->
<customConfig>
<!-- <config key="myKey">mySetting</config>-->
<config key="entity_encoding">raw</config>
<config key="codemirror">
{
"indentOnInit": false,
"path": "../../../../lib/codemirror",
"config": {
},
"jsFiles": [
],
"cssFiles": [
]
}
</config>
<config key="allow_script_urls">true</config>