2014-06-28 84 views
0

我使用TinyMCE的与我自己的文件浏览器标题:更改动态生成的对话框

file_browser_callback: function(field_name, url, type, win) 
{ 
    tinyMCE.activeEditor.windowManager.open({ 
    title: 'My Title', 
    url : 'file_browser.html', 
} 

我要动态地更改标题,使用JavaScript对话框的“我的标题”从file_browser内.html iframe。

由TinyMCE的生成的HTML代码看起来是这样的:

<div id="mceu_76-head" class="mce-window-head"><div id="mceu_76-title" class="mce-title">My title</div></div> 

<div id="mceu_76-body" class="mce-container-body mce-abs-layout"><iframe src="file_browser.html" tabindex="-1"> 

很明显,我不能使用getElementById("mceu_76-head"),因为这是动态生成的,并有其他的对话框,其标题,我不希望改变。我该怎么办?

回答

1

windowManager.open返回包含该ID的窗口设置。

var win = tinyMCE.activeEditor.windowManager.open({ 
    title: 'My Title', 
    url : 'file_browser.html', 
    ... 
}); 

document.getElementById(win._id + '-title').innerHTML = 'New Title'; 

它的工作原理,但我不知道这是正确的方式。

+0

根据open()返回的文档void:http://www.tinymce.com/wiki.php/api4:method.tinymce.WindowManager.open – Baz

+0

尽管文档中说过,它实际上返回窗口设置对象in V4。您可以在4.x dev软件包的WindowManager.js中找到相关的代码。 – taggon