为什么所有支持AJAX的插件都不能在我的网站上运行?

时间:2012-01-27 作者:ahmadali shafiee

This 是我的网站。我安装了很多插件,但如果一个插件有ajax,那么它在主页上就不起作用了。谁能帮帮我?!?

2 个回复
最合适的回答,由SO网友:EAMann 整理而成

看看您的代码,我注意到一个巨大的问题(Milo也指出了这一点)。您的脚本标记(拉入jQuery和其他脚本的标记)错误。

例如,这:

<script data-djssrc="http://2barnamenevis.com/wp-content/themes/mediaflux2/js/jquery.min.js" type="text/djs"></script>
<script data-djssrc="http://2barnamenevis.com/wp-content/themes/mediaflux2/js/jquery.nivo.slider.js" type="text/djs"></script>
<script data-djssrc="http://2barnamenevis.com/wp-content/themes/mediaflux2/js/mediaflux.js" type="text/djs"></script> 
应该是这样的:

<script src="http://2barnamenevis.com/wp-content/themes/mediaflux2/js/jquery.min.js" type="javascript"></script>
<script src="http://2barnamenevis.com/wp-content/themes/mediaflux2/js/jquery.nivo.slider.js" type="javascript"></script>
<script src="http://2barnamenevis.com/wp-content/themes/mediaflux2/js/mediaflux.js" type="javascript"></script> 
我在谷歌上快速搜索了一下,看看是否能找出这是什么原因造成的。我发现some references on the WordPress.org support forums 导致此问题的CloudFlare的测试前功能。具体而言:

是的,原来是CloudFlare把我搞砸了。我刚接到支持人员的电话,他们解释说这个功能[测试版缩小]“还没有准备好实施。”我仍然不知道为什么他们会选择它。FTW。只需禁用它,等待大约30分钟,您就可以启动您的javascript并再次工作。

我进一步研究了您的代码,看起来您确实在使用CloudFlare:

<script type="text/javascript">
//<![CDATA[
window.__CF=window.__CF||{};window.__CF.u="/cdn-cgi/async/cf/uri/";window.__CF.p="5e/f9847507c0fee91c0268427d3fde85";window.__CF.o=1;window.__CF.c=0;(function(){var a=document,b=a.createElement("script");b.src="//ajax.cloudflare.com/cdn-cgi/nexp/v=918368360/cf_tools.min.js";b.setAttribute("async","true");a=a.getElementsByTagName("script");a=a[a.length-1];a.parentNode.insertBefore(b,a)})();
//]]>
</script></body>
因此,只需按照论坛帖子中的说明操作,关闭“beta minify”功能,然后等待。这将使您的JavaScript文件恢复正常,并允许您在站点上使用AJAX。

SO网友:Milo

一个潜在的问题是,有两个版本的jQuery正在加载,其中一个可能是硬编码到主题的header.php 或者至少是使用不当wp_enqueue_script 方法以包括脚本。

<script data-djssrc="http://2barnamenevis.com/wp-content/themes/mediaflux2/js/jquery.min.js" type="text/djs"></script>

<script type=\'text/djs\' data-djssrc=\'http://2barnamenevis.com/wp-includes/js/jquery/jquery.js?ver=1.7.1\'></script>

结束

相关推荐

register_setting and AJAX?

如果这个问题本身完全无关,请原谅,但我会尽我所能指出我面临的问题以及我想要实现的目标。Scenario: 我有一个自定义主题选项的面板,它使用自定义选项卡Goal: 每当用户保存面板的选项时,页面和面板的选项卡应保持原样(即不重新加载,也不将用户带回初始选项卡)。我几乎完全确定这是与AJAX相关的,因此是标题。这是我的面板的PHP代码:http://pastie.org/3102112 这就是使选项卡工作的JS(为了这个示例,选项卡本身工作得完美无缺):$(\'div#options_tabs div.b