2014-01-07 24 views
0

我有一些行内的jQuery加载对我表达式引擎模板需求Disqus评论,但由于一些奇怪的原因,我在得到这个正常工作的问题:内嵌的jQuery/AJAX在表达式引擎不工作

jQuery(document).ready(function() { 
       jQuery('.show-comments').on('click', function(){ 
       var disqus_shortname = 'xxxxxxx'; // Replace this value with *your* username. 
       var disqus_identifier = 'xxxxxxxxxxx_{exp:channel:entries disable='categories|custom_fields|member_data|pagination' channel='channel'}{entry_id}{/exp:channel:entries}'; 
       var disqus_url = '{site_url}xxxxxx/xxxxx/{exp:channel:entries disable='categories|custom_fields|member_data|pagination' channel='channel'}{url_title}{/exp:channel:entries}'; 

       // ajax request to load the disqus javascript 
       jQuery.ajax({ 
       type: "GET", 
       url: "http://" + disqus_shortname + ".disqus.com/embed.js", 
       dataType: "script", 
       cache: true 
       }); 
       // hide the button once comments load 
       jQuery(this).fadeOut(); 
       }); 
       }); 

从外部JS文件中调用时它可以正常工作,但在html文件中时失败。

任何帮助将不胜感激!谢谢。

+0

它以哪种方式失败?发生了什么错误? (我期待'jQuery没有定义' –

+0

嗨Kevin。那么,“load disqus comments”按钮应该加载脚本并显示Disqus评论。我希望人们能够按需加载Disqus,而不是它会自动加载 – user2485157

+0

当你说内联时,这个JS嵌入在哪里?记得在jQuery加载后嵌入它。还有,在你的浏览器的控制台上是否有任何错误消息? – Terry

回答

1

是的,jQuery需要在运行任何调用jQuery函数的脚本之前加载。所以要么将这个脚本移动到页脚(在加载jQuery的脚本下面),要么将jQuery加载到页面的头部。