如何从新 window 经理 window 进行更改?

How do you make changes from a new windowManager window?

我是 JavaScript 的新手,所以我边做边学。在实习期间,我被要求调整所见即所得 html 编辑器,以便它可以用于电子邮件。我正在使用占位符稍后由用户替换。

我的问题:如何检测文本框中的输入并在编辑器中替换它?

我看过其他帖子,例如 this 一个,但我仍然无法正常工作。

到目前为止我的代码:

setup: function(ed) {
    // on mouse up gets selected text
        ed.on('mouseup', function(ed, e) {
            var highlighted = tinyMCE.activeEditor.selection.getContent();
            // Checks if highlighted texts contains a placeholder
            if (highlighted.indexOf("[!") > -1) {
                //alert(highlighted);
                tinyMCE.activeEditor.windowManager.open({
                    title: 'replace',
                    width: 320,
                    height: 240,
                    body: [
                        {type: 'textbox'}
                    ]
                })
            }
        });
    }

提前致谢!

我已经想通了!如果人们想知道我是如何做到的,这是我的代码:

setup: function(ed) {
    // on mouse up gets selected text
        ed.on('mouseup', function(ed) {
            var highlighted = tinyMCE.activeEditor.selection.getContent();
            // Checks if highlighted texts contains a placeholder
            if (highlighted.indexOf("[!") > -1) {
                //alert(highlighted);
                tinyMCE.activeEditor.windowManager.open({
                    title: 'Replace placeholder',
                    file: 'namechange.html',
                    width: 320,
                    height: 80,
                })
            }
        });
    }

这就是 'namechange.html' 文件的样子:

<body>
    <input type="text" id="namechange"/>
    <input type="button" id="submit-namechange" value="Oké"/>
    <script>
        document.getElementById('submit-namechange').onclick = function(){
            var namechange = document.getElementById('namechange').value;

            window.parent.tinyMCE.get('editor1').selection.setContent(namechange);
            window.parent.tinyMCE.activeEditor.windowManager.close();
        };
    </script>
    <script src="scripts/settings.js"></script>
</body>