2015-08-25 45 views
0

是否可以添加一個自定義按鈕,它將打開一個新的瀏覽器窗口到特定的URL?TinyMCE 4自定義瀏覽器彈出窗口MVC

目前有一個預覽按鈕,它打開一個窗口,但顯示所見即所得編輯器中使用的內容,但是我需要用戶看到所見即所得的內容,因爲它實際上是用相應的視圖呈現的。

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的新瀏覽器窗口,目前它無非是插入內容。

任何幫助,將不勝感激:-)

回答

1

通過使用window.open(url,'_blank');在JavaScript你能做到這一點,看看這個簡單的例子:

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

這裏有jsfiddle

工作實例你只需將onclick中的當前代碼替換爲

window.open(「http://stackoverflow.com」,'_ blank');

+0

是沒可能利用TinyMCE的,因此保持清潔圖標呈現不添加按鈕的頁面? – iggyweb

+0

@iggyweb你只需要刪除tinyMCE.execCommand('mceInsertContent',false,'Hello !!');並把window.open(「http://stackoverflow.com」,'_ blank');而不是 – clement

+0

謝謝你的工作完美,如此簡單。 – iggyweb

0

您需要使用

window.open(url,'_blank');