function loadNextComic()
{
window.scrollTo( 200, 480);
img comic = new Image();
currentComicNumber++;
comic.src="Freqpg"+currentComicNumber+".jpg";
comic.onload = function()
{
document.getElementById("comic").src="Freqpg"+currentComicNumber+".jpg";
document.getElementById("numberOutput").innerHTML=currentComicNumber;
}
comic.onerror =lastComicReached();
}
此代码旨在迭代网络漫画页面。如果下一页存在,它应该加载,一旦加载,就会显示。如果页面不存在,代码应该调用另一个函数,因为这表明我们可能已经到达存档的末尾。不幸的是,这段代码什么也没做。甚至滚动功能也会中断。
function loadNextComic()
{
window.scrollTo( 200, 480);
//img comic = new Image();
currentComicNumber++;
//comic.src="Freqpg"+currentComicNumber+".jpg";
//comic.onload = function()
// {
document.getElementById("comic").src="Freqpg"+currentComicNumber+".jpg";
document.getElementById("numberOutput").innerHTML=currentComicNumber;
// }
//comic.onerror =lastComicReached();
}
这段带有注释掉的 img 代码的代码可以正确地处理页面,直到我用完页面(这些页面是连续且可靠地命名的),并且看到这个数字每周将如何变化,我不能简单地硬编码最后一个页码. 在查看了网站上的其他示例后,我尝试使用 img.onerror 和 onload 代码。很明显,我一直像个白痴一样摸索这个。我在一些地方读到过关于异步执行中断错误的内容,但我认为这应该可以解释这一点。
如何让 img.onload 和 onerror 函数工作?如果代码异步执行,你如何进行结构化编程?