以下一种简单易懂,方便易用的网页图片预加载技术。:=D。
这种预加载技术使用了javascript技术、静态页面技术、div隐藏技术、gif动态图片技术、bash脚本技术、linux技术等各种前沿NB技术。。。
下面我就来揭开它神秘的面纱吧,当当当!!!!音乐~~~~掌声~~~~~~
---------------邪恶到不得了的分割线---------------------------------
主要思路就是利用浏览器的缓存功能,尽可能简单的实现加载过程。因此该方案生效的前提是浏览器一定要开启缓存功能(IE、Firefox等默认都是开启的)
1.首先,你需要把所有需要预加载的图片放到电脑上的一个文件夹下面。我的系统是ArchLinux的,所以我写了一个bash脚本来扫描图片文件夹下面所有的图片,并生成一段HTML代码,脚本代码如下
#!/bin/bash
for name in $(find .|grep '\.jpg$')
do
echo "<img src=\"$name\">"
done
for name in $(find .|grep '\.png$')
do
echo "<img src=\"$name\">"
done
保存为bat.sh,然后设置其为可执行权限并放到图片目录下
接着,打开一个新的tyy窗口,运行.\bat.sh >> 1.txt。就可以得到一份所有图片文件的HTML代码了,代码存储在1.txt里面。
2.在游戏主页面前加入一个loading页面,代码如下
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>很努力的加载中。。。</title>
<style type="text/css">
#loading-black{ background-color:#000000; z-index:3000; width:100%; height:100%;}
#loading{width:100%; height:100%; padding-top:212px; text-align:center; margin:0 auto; z-index:3000;}
</style>
</head>
<body bgcolor="#000" onload="window.location.href='index.php?ac=5game';">-->
<div id="loading-black" style="display:block">
<div id="loading"><img src="2008825893756277805.gif" /></div>
</div>
<div style="overflow-x:hidden; overflow-y:hidden; width:0px; height:0px;">
主意!!!!此处粘贴1.txt中的代码
</div>
</body>
</html>
3.最后一步,修改游戏为先跳转到loading页面,而后由loading页面的onload函数转入游戏主页面。
------------------------------------忧郁的分割线---------------------------------------
扩展:这种loading网页还可以被用作后台加载,就是游戏在前台跑的同时,后台自动加载剩下的图片、视频、声音等资源,具体实现方法是将需要加载的资源做成一个网页,像一些必须要调用才能加载的,比如视频、声音等,由js控制按照顺序加载。然后整个网页被游戏主网页用一个size为0的frame引用进来,即可实现后台加载效果。