我相信这是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