Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将内容插入Wordpress post编辑器_Javascript_Wordpress_Tinymce - Fatal编程技术网

Javascript 将内容插入Wordpress post编辑器

Javascript 将内容插入Wordpress post编辑器,javascript,wordpress,tinymce,Javascript,Wordpress,Tinymce,我正在制作一个Wordpress插件,用于在帖子中添加图像地图。目前,我已经实现了一个自定义的post类型的图像映射。然而,我在帖子中添加它们时遇到了一些麻烦 我在“媒体插入/上载”窗口中创建了一个名为“图像映射”的新选项卡。单击选项卡中的图像贴图时,将启动此功能: function insertImageMap() { tinyMCE.execInstanceCommand('mceInsertContent', false, 'content', 'some text or

我正在制作一个Wordpress插件,用于在帖子中添加图像地图。目前,我已经实现了一个自定义的post类型的图像映射。然而,我在帖子中添加它们时遇到了一些麻烦

我在“媒体插入/上载”窗口中创建了一个名为“图像映射”的新选项卡。单击选项卡中的图像贴图时,将启动此功能:

function insertImageMap() {
    tinyMCE.execInstanceCommand('mceInsertContent', false, 'content',
    'some text or html code'
    );
    window.parent.tb_remove();
}
但是,tinyMCE编辑器中没有添加任何内容。函数被激发,但tinyMCE编辑器的实例未定义,即使我使用tinyMCE.getInstanceById('content')。有没有办法访问post editor页面的编辑器

我的插件中包含了tinyMCE脚本,它不会显示为未定义

我发现一个老问题问同样的问题,但答案并没有太大帮助:
在注释中找到解决方案:

function insertImageMap() {
    window.parent.send_to_editor('any text');
    window.parent.tb_remove();
}

我认为这是因为弹出窗口实际上是一个iframe。因此,为了访问
tinyMCE
实例,您需要通过
window.opener
window.parent
获取它(我不能100%确定它是否是其中的任何一个或其他东西)。因此,您可以执行
var instance=window.opener.tinyMCE | | window.parent.tinyMCE;execInstanceCommand('mceInsertContent',false,'content','some text或html代码')。此外,您还可以查看源代码(很可能是JS),了解WordPress是如何将内容发送到编辑器的。您实际尝试过吗?嗯,脚本实际上并没有在iframe中运行。我可以访问tinyMCE本身的实例,但不能使用tinyMCE.getInstanceById()访问post editor。但是您说您在媒体上载弹出窗口中添加了一个新选项卡,并且该选项卡加载到iframe中。除非你正在做一些非常奇怪的事情,否则它应该在一个iframe中。请尝试
窗口。将\u发送到\u编辑器('content to to to to editor here')
并告诉我它是否有效。啊,是的,我误解了什么。我以前测试过send_to_editor,但它没有定义。Window.parent.send_to_编辑器完成了这个任务。当你错过这样明显的解决方案时,感觉很棒。谢谢