为什么ready()在完成执行之前显示图像?

时间:2015-11-10 05:57:22

标签: jquery html

在这个简单的 html 页面中,<body>中有图片段落

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script src="Scripts/jquery-2.1.4.min.js"></script>
    <script type="text/javascript">
        $(document).ready(function () {

            alert("hello");
        });
    </script>
</head>
<body>
    <p>this is a paragraph</p>
    <img src="images/mayor.jpg" />
</body>
</html>

{<1}}功能按照定义在加载 DOM 并加载图像之后执行。因此,ready()应显示带有 hello 文本的提示框,此时不会显示任何图像,直到我点击确定 提醒框。但是当我使用 chrome Firefox 时,它会显示图片this you tube video显示了问题。

然而,如果我清除了浏览器,它就不会显示图像。每次运行前缓存。但如果我正在创建一个供业务客户端使用的Web应用程序,我不能要求他们清除这样的缓存。有没有办法解决这个问题?

2 个答案:

答案 0 :(得分:1)

如果图像在缓存中,则不必异步加载。它可以在解析<img>标记时立即显示。

答案 1 :(得分:1)

当然可以。在图像src中添加一个随机数,如下所示:

<img src="images/mayor.jpg?v=13232" />
每次加载时,

13232必须是随机数。