gpt4 book ai didi

Javascript image.onload() 保证图像已加载?

转载 作者:可可西里 更新时间:2023-11-01 13:34:28 26 4
gpt4 key购买 nike

我正在开发一款使用大量图像的 HTML5 游戏。但是,有时游戏无法正确加载并抛出一些错误消息,表明某些图像未正确加载。我使用预加载函数,在开始设置图像的 src 之前递增一个变量,并在 onload() 函数中递减它。只有当这个变量达到 0 时,我才开始绘图。有时我(和其他用户)仍然会看到错误并且游戏无法加载。大多数时候它都有效。现在我想知道......从技术上讲这不应该是可能的。 onload 函数的调用是否保证图像已加载?因为我觉得没有。

这里是代码,虽然我认为它不重要:

var ressourcesToLoad = 1;

// all the loadImage() calls
// ...

ressourceLoaded();


function ressourceLoaded()
{
ressourcesToLoad--;

// if(ressourcesToLoad == 0) start main loop
}


function loadImage(imgFile)
{
ressourcesToLoad++;
var img = new Image();
img.onload = ressourceLoaded();
img.src = imgFile;
return img;
}

最佳答案

是的,但据我所知:

1 在某些浏览器中,它可以为同一张图片连续触发两次

2 在某些浏览器中,当从缓存中加载图像时它不会触发

3 我不确定当服务器为图像返回 404 时它是否触发

也许你应该在加载上一张图像后才开始加载下一张图像。如果您在同一个域中有很多大图像并开始同时加载它们,“每页两个连接”规则可能会破坏您的某些东西。

P.S.:某些“某些浏览器”是指“某些浏览器或其过时版本”。

关于Javascript image.onload() 保证图像已加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20718971/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com