繁体   English   中英

如何在UpdatePanel中回发后保留TinyMCE

[英]How to keep TinyMCE after postback in an UpdatePanel

当我在UpdatePanel上单击导致回发的按钮时,它会调用tinyMCE.triggerSave()

它重新加载面板并且编辑器再次出现,但是当我第二次尝试调用tinyMCE.triggerSave()时出现以下错误:

g.win.document is null

我虽然它正在获取旧实例,但我也在调用save之后删除了控件( tinyMCE.execCommand('mceRemoveControl',false,'Editor'); )。 即便如此,它仍然第二次崩溃。

我该如何解决?

tinyMCE.execCommand( 'mceRemoveControl',真, '编辑');

在离开UpdatePanel之前,它会强制tinyMCE完全删除,然后当你再次添加时它不会崩溃。

经过多次混淆后,我发现@AndréGadonski发布的修复程序不再适用于TinyMCE版本4.它不仅不起作用,它还没有向控制台提供错误反馈!

新命令是mceRemoveEditor

资料来源: http//www.tinymce.com/forum/viewtopic.php?id = 31256

我发现这可以在重新启动TinyMCE之前直接使用,或者在ASP更新面板刷新之前使用;

var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_beginRequest(BeginRequestHandler);

function BeginRequestHandler(sender, args) {
    tinymce.execCommand('mceRemoveEditor', true, 'EditorID');
}

对于tinymce 3.2.x,使用以下命令删除IE8或任何其他浏览器中的tinyMCE实例。 由于tinymce.execCommand函数使输入字段在IE8中不可编辑。

tinyMCE.remove(editor); //editor is instance of tinymce editor and not editor id

这将修复“权限被拒绝”错误,而不会禁用同一页面中的其他输入字段。

我有同样的问题。为了解决它你的桅杆添加元素创建回发的脚本代码。 我的按钮创建回发后,我添加它OnClientClick():

<asp:LinkButton ID="lbnSave" OnClick="lbnSave_Click" ToolTip="Add New" OnClientClick="dotim()"
                        runat="server">save</asp:LinkButton>

和脚本是:

function dotim() {
   tinyMCE.triggerSave();
  } // this is my attempt at a fix

这对我很有帮助。

我在角度2中使用了tinymce。但是当我被重定向时,tinymce消失了。 我想这是因为重复使用tinymce。 所以我在使用之前删除了tinymce。

tinymce.execCommand('mceRemoveEditor', true, 'templateEditor');
  tinymce.init({
    selector: '#templateEditor',
    menubar: false,
    plugins: ['autoresize']
  });

谢谢。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM