我相信這是this question,你問過自己,或多或少重複,只是措辭有點更精確。我的答案仍然適用於這個答案。
基本上,沒有理由要經過所有的AJAX箍使用drupal_set_message,只會放慢改革的步伐。使用drupal_set_meesage不會讓messagefx模塊對插入的html作出反應,因爲它是從drupal_set_message生成的。在沒有任何ajax調用的情況下直接在javascript中生成和輸入html會更快更簡單,然後通過調用相關的js函數來添加fx。
編輯:
你所要求是不可能的,你不能讓Drupal能夠顯示來自drupal_set_message()與上飛的影響消息的原因有兩個:
- Drupal是用PHP編寫,因此使用PHP獲取新內容到頁面的唯一方法是重新加載頁面或加載一個新頁面。
- 通過運行一個簡單的JS是針對在頁面加載時,因此即使它可能得到的Drupal更新頁面已創建郵件,打印新郵件Messagefx功能,他們不會得到messagefx的影響。
你可以像我已經解釋的那樣完成你的目標,我可能稍微修改它以適應和優化你在這裏寫的內容。但是,如果不執行jQuery的append(),prepend()函數之類的操作,則無法獲得新消息。所以,我擔心你必須決定像我描述的那樣做,或者根本不這樣做。
另外你需要考慮的一件事是,無論你是通過js還是通過drupal製作/輸入html,對於最終結果都無關緊要:用html編寫的頁面。
我已經更新了我的答案,雖然你可能不喜歡你的追求結果。 – googletorp 2009-08-20 20:46:18