有时我的jquery调用加载页面需要很长时间(大约30秒以上),有时它会像预期的那样快速加载。我尝试在jsfiddle中重新创建问题,因为实际的页面有很多代码。但是,我无法在jsfiddle中完成任务。这是jsfiddle的链接:http://jsfiddle.net/VtTXv/
以下是代码:
<span id="html_currentthread" style="background-color:blue;" hidden>f</span>
<span class="Row_0">fdas<span>
<script>
$(document).ready(function () {
center_currentthread3 = $(window).width() / 2;
$(".Row_0").on('click', function () {
$('#html_currentthread').animate({height: '600px', width: '600px', left: center_currentthread3+'px', opacity: '1'},700).css('z-index','60');
$('#html_currentthread').show();
$('#html_currentthread').load('http://www.google.com');
});
});
</script>
更新: 我确认当我让页面处于空闲状态时页面加载很快,而不是在该菜单中的任何其他加载页面上(即在没有选择任何内容的页面上)。如果我尝试加载另一个并且几分钟没有消失(可能是大约1-2分钟,最多3分钟),则需要很长时间才能加载(通常大约30秒以上)。我现在认为这是一个服务器问题,而不是代码问题。它是一个WAMP服务器(运行Apache服务器)。它就像一个倒退的空闲状态,它在闲置了一段时间后工作,菜单上的所有页面都没有打开。
答案 0 :(得分:2)
当我切换到JQuery 1.9时,我会在你的小提琴中收到这条消息:
XMLHttpRequest无法加载http://www.google.nl/。起源 {}不允许http://fiddle.jshell.net 访问控制允许来源。
由于某些原因,JQuery 1.10不会生成此消息,但我认为问题是相同的:您遇到了一个({)same origin policy,它不允许您向其他人发出AJAX请求域。
至少,这是你小提琴中的问题。它没有解释为什么你做在本地机器上获得结果。在那里,你可能也在AJAX请求中使用了相同的本地机器。在这种情况下,你不会受到政策的困扰。
减速的原因?谁能说出来。也许......