2012-08-25 186 views
0

我正面臨以下問題:wysiwyg編輯器.load頁面

我有我的index.html頁面,帶有div#內容。在這個div,我通過我的js

//JavaScript Document 
$(document).ready(function() { 
    $('#loader').load('pages/loader.php').hide(); 
    $('#content_container').load('pages/dashboard.php'); 
    //$('.dashboard_quick_news').load('pages/quicknews.php'); 
}); 

$('.content_link').click(function(){ 
    var href = $(this).attr('href'); 
    $('#loader').show(); 
    $('#content_container').hide().load(href).delay(1800).fadeIn('normal'); 
    $('#loader').load('pages/loader.php').delay(1000).fadeOut(); 
    return false; 

}); 

現在,這一切工作正常,並且被加載的頁面得到顯示像他們應載入的網頁。 雖然我加載一個頁面內我包括一個wysiwy編輯器(Nicedit)

<script type="text/javascript" src="../../nicedit/nicEdit.js"></script> 
     <script type="text/javascript"> 
      bkLib.onDomLoaded(function() { nicEditors.allTextAreas() }); 
     </script> 

當我通過索引加載這個頁面(與.load功能),所見即所得的編輯器不會顯示(也有TinyMCE的測試)。當我只是單獨訪問頁面(通過URL)時,wysiwyg編輯器顯示完美,因此路徑設置正確。還測試了包含在我的索引中的wysiwyg js

要測試.load頁面是否包含javascript,我使用wysiwyg編輯器在頁面上插入了一個警報。 雖然wysiwyg編輯器沒有,但此警報確實顯示。

有誰知道如何解決這個問題?

感謝媒體鏈接

回答

0

你檢查所產生的DOM,看看編輯標記已連接到您的網頁?

這些所見即所得編輯器的大多數(所有?)都使用iframe。我不知道他們是如何決定它的大小的,但我猜想,因爲你發送一個textarea作爲參數,他們使用該textarea的尺寸。因此,確保textarea的大小足夠大並檢查注入的iframe是否足夠大。

編輯:

這是很難確定的問題,不知道在編輯器啓動時你的textarea的是(?更多的代碼,請)。

我認爲問題出在bkLib.onDomLoaded,它在加載DOM的那一刻運行。然而,jQuery的ready()確實(幾乎)是一回事。因此,當您調用load()來獲取頁面的內容時,DOM已經被加載,所以bkLib.onDomLoaded將不會運行。

你需要做的,而不是什麼是實例化編輯器所請求的PHP頁面加載後:

$('#content_container').load('pageWithEditorScript.php', function() { 
    nicEditors.allTextAreas(); 
}); 
+0

我不能看到.load頁面中的JavaScript文件。雖然因爲警報確實起作用,但我認爲所有的javascript都可以工作。獨立的文件確實有效。或者你是如何檢查產生的DOM? Nicedit從元素中獲取大小。 Textarea的風格在我的CSS中。所以textarea足夠長。這也顯示在完全有效的獨立版本中。 即使我只是。從德維斯編輯器的演示頁面編輯器不顯示。 非常感謝heling! ()# – Jaspert

+0

This $('#content_container')。load('pageWithEditorScript.php',function(){ nicEditors.allTextAreas(); }); 修正了這一切。非常感謝! – Jaspert