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

时间:2015-08-25 13:54:15

标签: javascript asp.net-mvc-4 tinymce-4

是否可以添加一个自定义按钮,用于打开特定网址的新浏览器窗口?

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

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.exec命令”#39;要启动具有特定URL的新浏览器窗口,目前它只是插入内容。

非常感谢任何帮助: - )

2 个答案:

答案 0 :(得分:1)

在javascript中使用window.open(url,'_blank');可以执行此操作,请参阅以下简单示例:

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

以下是jsfiddle

上的工作示例

您只需要通过

替换onclick中的当前代码
  

window.open( “http://stackoverflow.com”, '_空白');

答案 1 :(得分:0)

您需要使用

window.open(url,'_blank');
相关问题