Linux操作系统下的离线浏览器介绍
http://tech.ddvip.com 2006年11月19日 社区交流
本文详细介绍Linux操作系统下的离线浏览器介绍
1.在窗口中显示HTML页面
int CHtmlView:: showPage(const char * path)
{ //显示path指定的文件中所包含的HTML页面
if(path == NULL)
return -1;
else
{
FILE * pfile;
//打开包含页面的文件
if((pfile = fopen((const char*)path,“rb”)) != NULL)
{
int blocklen = 0x10000;
char * c = new char[blocklen+1];
KURL u((const char*)path);
//类成员函数,清除窗口内原有内容,并初始化窗口,准备显示新页面
begin( u.directoryURL() );
while(1)
{
//读出网页文件的内容
int len = fread(c,sizeof(char),blocklen,pfile);
//类成员函数,将读取的内容写入KHTMLView类的缓冲区
write(c);
//文件读取完毕后退出循环
if(len < blocklen)
break;
}
//类成员函数,标示HTML页面已经全部写入缓冲区
end();
//类成员函数,分析缓冲区中的HTML代码
parse();
//类成员函数,显示HTML页面
show();
delete [] c;
}
else return -1;
}
return 0;
}2.响应超级链接的点击
定义鼠标事件处理函数mousePressedHook()覆盖KHTMLView类中的同型虚拟函数。当用户用鼠标点击网页中的超级链接时,该函数将被调用。被点击的超级链接的地址会作为参数自动传入该函数。由于网页文件中的所有超级链接已做过本地镜像处理,所以,只要该链接所指向的文件已经被下载程序正确地下载到本地,那么使用showPage函数就能调入并显示此页。
bool CHtmlView:: mousePressedHook
( const char* _url, const char *_target,
QMouseEvent *_ev, bool _isselected )
{
KHTMLView:: mousePressedHook(_url,_target,_ev,_isselected);
//显示被点击的页面
showPage(_url);
return true;
}在生成Kdevelop的窗口应用程序框架的View类中定义一个ChtmlView对象,将View类作为其父窗口:
ChtmlView *m_htmlview = new ChtmlView(this,“HtmlViewer”);
/*调用showPage函数显示path指向的网页文件*/
m_htmlview-> showPage(path);此外,我们还可以在此基础上加入更多的功能,依靠KDevelop所提供的丰富的图形用户接口类将浏览器设计得更美观易用。
责编:豆豆技术应用
正在加载评论...
- Linux/Unix 新闻
- Linux/Unix 入门
- Linux/Unix 命令
- Linux/Unix 安装
- Linux 嵌入式系统
- Linux/Unix 编程
- Linux/Unix 管理
- Linux/Unix 桌面
- Linux/Unix 内核
- Linux/Unix 软件
- SCO Unix
- NetBSD
- OpenBSD
- Redhat/Fedora Linux
- 手机
- Linux/Unix find 搜索命令
- Linux/Unix vi 命令
- Linux/Unix kde 桌面环境
- Linux/Unix GNOME 桌面环境
- Linux/Unix Make 命令
- Linux/Unix crontab 命令
- Linux/Unix ext3 文件系统
- Linux/Unix 文件系统详解
- Linux/Unix ADSL 拨号设置
- Linux/Unix GRUB 配置及应用
- Linux/Unix nfs配置
- Linux/Unix 硬件信息查看及管理
- Linux/Unix 优化
- Linux/Unix 交换分区Swap管理及应用
- Linux/Unix 用户管理
- Linux/Unix Ramdisk
- Linux/Unix 密码恢复管理
- Linux/Unix 文件删除恢复
- Linux/Unix fdisk分区
- Linux/Unix lvs负载均衡管理
- Linux/Unix root用户
- Linux/Unix 集群
- Linux/Unix 日志
- 更多Linux/Unix专题……