jwchat目录结构基于Web的Jabber™客户端

    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的时间格式 
     刚接触这个软件不久,目前工作中公司的需求实现起来越来越麻烦,改写的工作越来越难做,主要是这个软件的核心技术不了解,希望有深入了解这个软件的大牛们给些指点,谢谢!
        我的博客: 小绾的博客
原文地址:https://www.cnblogs.com/maitian2013/p/3033679.html