TinyMCE 4自定义浏览器弹出窗口MVC



是否可以添加一个自定义按钮,将打开一个新的浏览器窗口到特定的URL?

目前有一个预览按钮,它打开一个窗口,但显示所见即所得编辑器中使用的内容,但是我需要用户看到所见即所得的内容,因为它实际上是用各自的视图呈现的。

Edit.cshtml

<script type="text/javascript" src="/Scripts/tinymce/tinymce.min.js"></script>
<script type="text/javascript">
tinymce.init({
    selector: "textarea",
    theme: "modern",
    height: 300,
    language: 'en_GB',
    browser_spellcheck: true,
    verify_html: false,
    plugins: [
    "advlist autolink lists link image charmap print preview hr anchor pagebreak",
    "searchreplace wordcount visualblocks visualchars code fullscreen",
    "insertdatetime media nonbreaking save table contextmenu directionality",
    "emoticons template paste textcolor colorpicker textpattern moxiemanager imagetools"],
    toolbar1: "insertfile undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image | print preview media | forecolor backcolor emoticons | preview2",
    image_advtab: true,
    file_browser_callback: function (fieldName, url, type)
    {
        var w = window,
            d = document,
            e = d.documentElement,
            g = d.getElementsByTagName('body')[0],
            x = w.innerWidth || e.clientWidth || g.clientWidth,
            y = w.innerHeight || e.clientHeight || g.clientHeight;
        var cmsUrl = '/Scripts/FileManager/Index.html?&field_name=' + fieldName + '&langCode=' + tinymce.settings.language;
        if (type == 'image')
        {
            cmsUrl = cmsUrl + "&type=images";
        }
        tinyMCE.activeEditor.windowManager.open({
            file: cmsUrl,
            title: 'FileManager',
            width: x * 0.8,
            height: y * 0.8,
            resizable: "yes",
            close_previous: "no"
        });
    },
    setup: function (ed) {
        ed.addButton('preview2', {
            title: 'Preview',
            image: './/',
            onclick: function () {
                tinyMCE.execCommand('mceInsertContent', false, 'Hello!!');
            }
        });
    }
});

我已经添加了一个自定义按钮,但我需要当前的'tinyMCE。execCommand'启动一个带有特定URL的新浏览器窗口,目前它只做插入内容。

任何帮助将不胜感激:-)

通过在javascript中使用window.open(url,'_blank');,你可以做到这一点,看看这个简单的例子:

$("#mybutton").on("click", function(){
    window.open("http://stackoverflow.com",'_blank');
});

下面是jsfiddle

的工作示例

你只需要将onclick中的当前代码替换为

window.open("http://stackoverflow.com"、"平等");

你需要使用

window.open(url,'_blank');

最新更新