我試圖從jQuery的對話框通過一個URL回CKEditor的對話框。如何從jQuery的對話框通過URL來CKEDITOR對話框
CKEditor和jQuery對話框都可以使用。
問題是我不知道如何將CKEditorFuncNum傳遞給服務器。
我跳入源代碼並搜索'CKEditorFuncNum',並找到了訪問此變量的方法。
現在我得到的錯誤:
Uncaught TypeError: Cannot call method 'getDialog' of undefined
這是工作流程:
- 通話CKEditor的對話框[OK]
- 調用jQuery的功能,使一個Ajax請求[確定]
- 與co調用jQuery對話框Ajax請求的ntent [OK]
- 密切jQuery的對話,並通過URL回到CKEditor的對話框(URL字段)< - 這裏的問題是
我改變了瀏覽按鈕調用一個jQuery函數(jQuery的彈出)
...
{
type : 'button',
id : 'browseInternal',
label : 'jQuery Popup',
onClick :function() {
var funcNum = this.getDialog().getParentEditor()._.filebrowserFn;
showJQueryPopUp(funcNum);
}
}
...
jQuery函數發出一個get請求,傳遞CKEditorFuncNum的值。
如何訪問CKEditorFuncNum值?
(見下文)
function showJQueryPopUp(funcNum) {
ajax_url = '../../../site_links?CKEditorFuncNum=' + funcNum;
$.get(ajax_url, function(data) {
$('#my_dialog_content').html(data);
$('#my_dialog').dialog('open');
});
};
Ajax請求返回的URL列表和一些JavaScript代碼:
<a href="#" onclick="modify_link('http://www.google.com'); return false;">
Google
</a>
<a href="#" onclick="modify_link('http://www.yahoo.com'); return false;">
Yahoo
</a>
<a href="#" onclick="modify_link('http://www.microsoft.com'); return false;">
Microsoft
</a>
<script type='text/javascript'>
function modify_link(url) {
window.parent.CKEDITOR.tools.callFunction(<%= @funcNum %>, url, '');
}
</script>
調用window.parent.CKEDITOR。 tools.callFunction(...);導致以下錯誤:
Uncaught TypeError: Cannot call method 'getDialog' of undefined
如何resove這個矛盾呢?
範圍是否不正確?
我怎樣才能掌握CKEditor對話框?
如何使用jQuery對話框中的選定URL填充CKEditor對話框的URL字段?
我將不勝感激任何意見。謝謝。