描述:
假设我有个my.cab文件,文件比较大。
我的html如下:
<html><body>
<object ID="mainform" width=308 height=445
CLASSID="CLSID:00960839-4373-4902-A4B2-E5C7A30EB628"
CODEBASE="my.cab#Version=-1,-1,-1,-1">
</object>
</body></html>
当我打开页面时,在页面的相应部分有一个默认的框框(问题一:如何将这个框框换掉,比如在这个地方写一些提示文字:“该控件正在启动或正在下载”),很久之后才出现一个对话框提示用户是否安装my.cab,(问题二:为什么会这么长时间,谁能告诉我这个时间ie在忙什么?是在下载吗?如果是,那么也就是说,在这个提示用户是否安装的对话框出现之前,已经把cab文件下载下来了,那么,提示安装还有何意义?)(问题三:下载的这个cab文件放在了什么地方,我找了很长时间也找不到!!奇怪)
以上初学者问题,还请大哥们多多指教,谢谢!
解决方案1:
几点提示:
1.时间长是因为要检查你的注册表里是否已经注册了和当前网页上有相同版本控件。如果没有将自动下载,但是如果你的cab文件发布时有问题,在你每次刷新网页时,都要提示!
2.不下载cab,只下载控件,下载路径有两个一个是系统临时下载文件夹,另外一个取决于你的.inf的内容。
3.vc5.0里有一个制作cab的工具,可以尝试一下。
1、下载完成后是以CAB包的形式存在系统IE临时文件夹下的。
类似于如下路径
C:\Documents and Settings\Administrator\Local Settings\Temporary Internet Files\Content.IE5\LA8RAERJ
2、下载后,并没有执行CAB中的inf文件,而是在提问得到肯定的回答后,才解压执行的。其意义在于,如果不确认报告,则将不会做后续安装处理
1.最简单的方法:用一个javascript 一直调用该控件方法,并try...catch 异常,如有异常表示还没下载完成。
2.下载后并不会有cab文件,而是自动解压了,在系统system32目录下能找到cab包中包含的ocx或者dll.
cab我用的比较多
用IE下载下来,系统并不是保存cab文件,而是下载结束马上自动解压cab压缩文件,到系统目录下
如win98系统是解压到system目录
w2000,XP,是下载到system32目录
你应该在系统里查找cab里的压缩文件