【问题标题】:Image that doesn't finish loading over HTTP on purpose故意未通过 HTTP 完成加载的图像
【发布时间】:2013-04-28 20:25:42
【问题描述】:

我正在创建一个使用大量 JavaScript 的 Web 应用程序。在那里我必须处理由

创建的图像的情况
var myImg = new Image();
myImg.src = 'http://...../';

加载不够快。所以添加一个像

这样的处理程序
myImg.onload = handlerFunction;

很简单。

但是我该如何调试呢?
IE。如何故意使图像加载缓慢(甚至从不...)?

是否可能有网络服务向我提供这样的图像,我可以通过仅使用该图片的 URL 轻松包含该图像?

【问题讨论】:

  • 您可以在src 属性中输入一个PHP URL 并在PHP 中使用sleep()?或者,如果您不想更改源,则可以使用 URL 重写将图像请求写入 PHP 页面。
  • Google 图片搜索仅限于“大于 4MP”,然后为您的测试用例使用加载缓慢的图片?不过,缓存可能是个问题......
  • @Ejay:这就是我要走的路线...添加它作为答案,我会 +1 ;)。

标签: javascript http


【解决方案1】:

OP 发现它在他的场景中很有用 :)

您可以在src 属性中输入一个 PHP URL 并在 PHP 中使用 sleep()。

HTML

<img src="/my_image_test.php" alt="testing behavior on image load delay" />

my_image_test.php

sleep(10); //delay for 10 seconds
header('Content-Type: image/jpeg');
//output image here if you have to

或者如果您不想更改源,您可以使用 URL 重写将图像请求重写到 PHP 页面

【讨论】:

  • 谢谢,我就是这样。不是公共 URL,但在我的情况下 PHP 已经足够好了。通过一个参数设置延迟,我让它变得更加舒适:&lt;?php header('Content-Type:image/png'); sleep( $_GET['sleep'] ); readfile( 'visu_svn/icon/knx-uf-iconset/128x128_red/weather_wind_speed.png' ); ?&gt;
【解决方案2】:

如果你想预加载图片,你可以使用 CSS/JavaScript。

是否可能有网络服务向我提供这样的图像,我可以通过仅使用该图片的 URL 轻松包含该图像?

取决于您要查找的图像类型。您可以搜索 google.com 的图像部分。如果你能找到它,你可以在你的应用程序中使用它的 URL。

【讨论】:

  • 我不想预加载图片。实际上,如果来自用户内容,我很乐意但不能作为此图像源...
猜你喜欢
  • 2021-11-17
  • 1970-01-01
  • 2023-04-03
  • 1970-01-01
  • 1970-01-01
  • 2021-01-23
  • 1970-01-01
  • 2018-01-21
  • 1970-01-01
相关资源
最近更新 更多