我刚刚从 Umbraco 4.7.1 升级到 6.1.6
我的自定义部分中有一个 TinyMCE 控件。升级后它停止工作。
这是我在自定义部分中的页面代码的一部分:
public partial class MyCustomPage : UmbracoEnsuredPage
{
private TinyMCE txtLongDesc;
protected UmbracoPanel UmbPanel { get { return Web.FindControlRecursive(Master, "umpContent") as UmbracoPanel; } }
protected override void Page_Init(object sender, EventArgs e)
{
base.Page_Init(sender, e);
PutTinyMce(ref txtLongDesc, "txtLongDesc", phLongDesc, UmbPanel);
}
public static void PutTinyMce(ref TinyMCE control, string controlId, PlaceHolder placeHolder, UmbracoPanel panel)
{
DataTypeDefinition d = DataTypeDefinition.GetDataTypeDefinition(2710); // My custom TinyMCE DataType
control = (umbraco.editorControls.tinyMCE3.TinyMCE)d.DataType.DataEditor;
control.ID = controlId;
placeHolder.Controls.Add(control);
panel.Menu.NewElement("div", "umbTinymceMenu_" + control.ClientID, "tinymceMenuBar", 0); // Add TinyMCE controls to menu bar
}
}
呈现页面时,textarea 被隐藏,但 TinyMCE 不显示。
这是我得到的 JavaScript 错误:
TypeError: document.getElementById(...) is null @ .../umbraco/plugins/tinymce3/tinymce3tinymceCompress.aspx?rnd=00000000-0000-0000-0000-000000000000&module=gzipmodule&themes=umbraco&plugins=contextmenu,umbracoimg,paste,inlinepopups ,表,umbracocss,advlink,umbracoembed,拼写检查器,不可编辑,umbracomacro,umbracopaste,umbracolink,umbracocontextmenu&languages=en:19803
这是导致错误的行(第 19803 行)
document.getElementById(ed.getParam("umbraco_toolbar_id", "*")).appendChild(c);
有没有人遇到过这个问题?知道如何解决吗?