ajax - jQuery .load() 等待内容加载完成

标签 ajax http jquery

如何防止 jQuery $('body').load('something.php'); 更改 any DOM 直到所有内容都来自 something .php(包括图片、js)完全 加载

-假设一些实际内容是:

Hello world

something.php的内容是:

image that loads for 10 seconds
20 js plugins

触发 .load() 函数后,什么都不会发生,直到图像和 js 文件完全加载,THEN 立即更改内容。

一些预加载器可能会出现,但它不是问题的主题。

[编辑]---------------------------------------- ----------------------------

我的解决方案是跨浏览器不透明度为 0 的 css 代码(css 总是在构建 dom 之前加载)。

.transparent{
    -moz-opacity: 0.00;
    opacity: 0.00;
    -ms-filter:"progid:DXImageTransform.Microsoft.Alpha"(Opacity=0);
    filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);
    filter:alpha(opacity=0);
}

它通常可以防止内容的闪烁,但并非总是如此。现在可以以某种方式检测到内容是由 jQuery ajax 加载并应用一些显示超时等。但实际上问题仍然悬而未决。

现在为这个问题做一个更简单的例子:

单击触发 .load('something.php') 函数的链接后,如何在 $('body').load('something.php') 延迟 3000 毫秒后开始更改 DOM? (浏览器应立即开始下载,但 DOM 更改必须稍后启动)

最佳答案

使用.get相反,并在成功回调中分配内容:

$.get('something.php', function(result) {
    $('body').html(result);
});

关于ajax - jQuery .load() 等待内容加载完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13693428/

相关文章:

javascript - 是否可以使用 javascript 从另一个域/服务器下载 JSON 对象?

php - 为什么它不能只突出显示新数据?

javascript - 如何在 Ruby on Rails 应用程序中使用 Javascript 获取 CSS 文件的内容?

ios - 无法在 swift iOS 中处理 http 代码?

java - 如果身份验证失败,则关闭 HTTP 连接

jquery - 使用jQuery更改源后播放HTML5中的音频

javascript - 在 rails 4 中加载 javascript 文件

javascript - jQuery 代码不会在模态表单上触发

ajax - 如何防止ajax驱动的表单被提交两次?

rest - 哪个 RESTful HTTP 动词用于读取时变状态?