我正在TinyMCE工具栏上创建一个额外的按钮(它适用于Wordpress,但我认为不重要)。
按下按钮并显示一个表单,我只是完全失去配置它,以便在表单上输入的值实际上传输到tinyMce插件的其余部分。
我找到的唯一相关文档是this page,它们会向您显示实现自定义浏览器。但对于第一个计时器(或者至少对我而言)来说这是相当神秘的。
这就是我所拥有的:
按下按钮时执行:
ed.windowManager.open({
file : url + '/dialog.html',
width : 400,
height : 120,
inline : 1
}, {
plugin_url : url, // Plugin absolute URL
some_custom_arg : 'custom arg' // Custom argument
});
这是dialog.html文件的内容
<html>
<head>
<title>Hello world!</title>
</head>
<body>
<form name="Hello world" method="post">
<input size="30" name="textbox1" type="text" id="textbox1" />
<input type="submit" value="" name="submitbutton" />
</form>
</body>
</html>
显然这没有任何作用(甚至没有关闭对话框),但我真的不知道从哪里开始寻找它做某事。
答案 0 :(得分:3)
我在MoxieCode论坛上回答了这个问题,但我已经在这里为其他人添加了我的回复。
TinyMCE中包含的示例插件应该有帮助,并在tutorial on creating a plugin
中使用查看插件,在 js 目录中,您将找到一个JavaScript库 dialog.js ,其中包含在示例对话框中单击“提交”时调用的方法。它基本上只是通过execCommand使用 mceInsertContent 将值插入编辑器。
因此,在您的示例中,您需要做的第一件事是更改表单以在提交时调用JavaScript方法。然后,您需要创建该方法来执行您想要插入TinyMCE的任何内容。
答案 1 :(得分:1)
这些简单的例子真的是值得一看的地方。除了Brett给出的信息之外,您还可以参考调用tinymce实例并在那里放置变量,或者您可以调用自己的插件之一的函数。
<强>示例:强>
// insertion of content into the calling editor instance
tinyMCEPopup.execCommand('mceInsertContent', false, 'my_content';
// store value in editor variable
tinyMCEPopup.editor.new_variable = 'new_special_blah';
// call a function from an own plugin
tinyMCEPopup.editor.plugins.my_plugin.my_custom_function(var1, var2);