我有一个项目需要在 html 页面上生成随机图像集合。一切正常,直到生成第 50 张图像,然后我才得到一个红色的 X。
我是否达到了某些连接限制或服务器资源限制?
下面的代码展示了在几台不同机器上的行为。我正在使用 Visual Studio 2010 和 Internet Explorer。
谢谢!
HTML 页面:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
</head>
<body>
<div id="images">
</div>
</body>
<script>
var count = 0;
function AppendImage() {
var img = document.createElement("img");
img.src = "DynamicImage.aspx?id=" + count++;
document.getElementById("images").appendChild(img);
img.onreadystatechange = function() {
if (this.readyState == "complete") {
AppendImage()
}
}
}
AppendImage();
</script>
</html>
动态图像.aspx
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
System.IO.FileStream fs = new System.IO.FileStream("d:\\png.png", System.IO.FileMode.Open, System.IO.FileAccess.Read);
IntPtr handle = fs.Handle;
long size = fs.Length;
Response.ContentType = "image/png";
Response.WriteFile(handle, 0, size);
fs.Close();
}
</script>
最佳答案
据我所知,这是一个永不结束的递归函数调用。这明智吗?
你有没有试过做一个非递归函数,看看你的运气是否更好?
关于javascript - 动态图像生成在 ~50 张图像后给出红色 x,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4687256/