jwchat目录结构-基于Web的Jabber™客户端
2013-04-21 11:23
218 查看
JWChat是一个功能强大,基于Web的Jabber™客户端。采用AJAX技术开发, 这个客户端只用到了JavaScript与HTML。它具备基本的jabber即时消息功能,用户管理,
基于MUC协议的群聊天功能。
刚开始出来工作,目前是实习的头一个月。本来应聘的职位是PHP程序员,但公司目前需要个项目就是这个即时聊天模块,主要用的技术是前段js和CSS,便让我做了。
弄了大半个月,接下来有时间就写写心得吧。
jwchat下下来总共1.41M,解压出来,你会发现里面其实有很多语言版本。你可以选择你需要的语言版本,改掉后缀就行了。
文件解压后,所有文件都在根目录下,有两个文件夹。
,images 就不用说了,sounds是保存一些声音文件,用于消息到了响应声音等等的功能。
接下来介绍文件。
1、jsjac.js :这个文件是本客户端的核心文件,代码有512行。封装了许多核心函数,包括客户端与服务器端连接等等函数。。
2、jabber_x_data.js:这个文件只有两个函数,从函数名称来看,应该是从服务器获取一些信息的方法。
3、config.js:从名字就知道,这是个配置文件。有关服务器名称等有关配置信息,其中还有匿名游客登录的配置,但我进行了配置目前还不能成功用游客号登录。
4、browsercheck.js : 浏览器检测,就一个函数。
5、emoticons.js:从名字和里面代码来看是提供表情功能的文件,但我一直没发现他们的表情是在哪用的。公司是让我直接自己添加了表情功能。
6、pngfix.js:用于png格式图片修正。我也不知道具体为什么要有这个。
7、roster.js: 显示好友列表的文件。代码很多。
8、version.js:就一句代码,显示版本。
9、switchStyle.js:用于更改CSS样式的操作,举个例子:其中有个是否在聊天窗口中显示时间戳的选项,这个功能的实现就需要这个文件。
10、 Shared.js :一些用的比较广泛的函数。
function getArgs()获取url中的参数
function cutResource(aJID)从一个已给的jid中去掉resource部分
function makeWindowName(wName)主要用在open() 函数的第二个参数,窗口名称。
function htmlEnc(str)过滤html代码中的特殊符号有"&<>/"四个
function msgFormat(msg)信息格式化,替换信息中的表情和urls
function isValidJID(jid)验证jid的节点名是否包含如下非法的字符'"',' ','&','/'','/',':','<','>','@'
function jab2date(ts)转换jabber返回来的时间戳成js日期对象
function hrTime(ts)转换2004-08-13T12:07:04±02:00返回来的时间格式到一个人类可以阅读理解的格式
function jabberDate(date)将js对象类型的时间转换为jabber的时间格式
刚接触这个软件不久,目前工作中公司的需求实现起来越来越麻烦,改写的工作越来越难做,主要是这个软件的核心技术不了解,希望有深入了解这个软件的大牛们给些指点,谢谢!
我的博客: 小绾的博客
基于MUC协议的群聊天功能。
刚开始出来工作,目前是实习的头一个月。本来应聘的职位是PHP程序员,但公司目前需要个项目就是这个即时聊天模块,主要用的技术是前段js和CSS,便让我做了。
弄了大半个月,接下来有时间就写写心得吧。
jwchat下下来总共1.41M,解压出来,你会发现里面其实有很多语言版本。你可以选择你需要的语言版本,改掉后缀就行了。
文件解压后,所有文件都在根目录下,有两个文件夹。
,images 就不用说了,sounds是保存一些声音文件,用于消息到了响应声音等等的功能。
接下来介绍文件。
1、jsjac.js :这个文件是本客户端的核心文件,代码有512行。封装了许多核心函数,包括客户端与服务器端连接等等函数。。
2、jabber_x_data.js:这个文件只有两个函数,从函数名称来看,应该是从服务器获取一些信息的方法。
3、config.js:从名字就知道,这是个配置文件。有关服务器名称等有关配置信息,其中还有匿名游客登录的配置,但我进行了配置目前还不能成功用游客号登录。
4、browsercheck.js : 浏览器检测,就一个函数。
5、emoticons.js:从名字和里面代码来看是提供表情功能的文件,但我一直没发现他们的表情是在哪用的。公司是让我直接自己添加了表情功能。
6、pngfix.js:用于png格式图片修正。我也不知道具体为什么要有这个。
7、roster.js: 显示好友列表的文件。代码很多。
8、version.js:就一句代码,显示版本。
9、switchStyle.js:用于更改CSS样式的操作,举个例子:其中有个是否在聊天窗口中显示时间戳的选项,这个功能的实现就需要这个文件。
10、 Shared.js :一些用的比较广泛的函数。
function getArgs()获取url中的参数
function cutResource(aJID)从一个已给的jid中去掉resource部分
function makeWindowName(wName)主要用在open() 函数的第二个参数,窗口名称。
function htmlEnc(str)过滤html代码中的特殊符号有"&<>/"四个
function msgFormat(msg)信息格式化,替换信息中的表情和urls
function isValidJID(jid)验证jid的节点名是否包含如下非法的字符'"',' ','&','/'','/',':','<','>','@'
function jab2date(ts)转换jabber返回来的时间戳成js日期对象
function hrTime(ts)转换2004-08-13T12:07:04±02:00返回来的时间格式到一个人类可以阅读理解的格式
function jabberDate(date)将js对象类型的时间转换为jabber的时间格式
刚接触这个软件不久,目前工作中公司的需求实现起来越来越麻烦,改写的工作越来越难做,主要是这个软件的核心技术不了解,希望有深入了解这个软件的大牛们给些指点,谢谢!
我的博客: 小绾的博客
相关文章推荐
- 【转】基于easyui开发Web版Activiti流程定制器详解(一)——目录结构
- 基于easyui开发Web版Activiti流程定制器详解(一)——目录结构
- 基于web的文件管理/目录结构展示(ufinder、elfinder)……的心路历程
- 基于Maven管理的javaWeb项目目录结构参考图
- vue基于webpack 模板的目录结构以及目录作用的解析
- JavaWeb应用的目录结构
- Jabbin:基于 Jabber 协议的 VoIP 客户端
- java-web应用的目录结构和web.xml
- netbeans web目录结构修改
- Web框架tomcat5.0的目录结构
- 基于Socket通信的BS结构文件服务器客户端的简易程序(2)
- maven依赖本地非repository中的jar包-依赖jar包放在WEB-INF/lib等目录下的情况客户端编译出错的处理
- tomcat目录结构与配置文件,web应用的目录结构
- web工程-目录结构
- 深入Atlas系列:客户端网络访问基础结构(上) - WebRequest的工作流程与生命周期
- Java Web应用程序的推荐目录结构
- 02_简单web的发布和web项目的目录结构
- Java Web 目录结构
- 转:基于 REST 的 Web 服务及其基于 Ajax 的客户端
- 一个web项目的目录结构示例