jEmotion

重要通知:Log4D的域名由 http://dddspace.com 迁移到 http://log4d.com 。 订阅地址现在改为 http://log4d.com/feedhttp://feeds.feedburner.com/dddspace 。(FeedBurner的地址未发生变化)


白天工作时候需要一个功能,我搜了一下Google,没有找到合适的,就花了半天时间写了一个jQuery插件jEmotion。

jEmotion的主要功能是用来给输入框加入转义之后的表情代码,然后在页面显示时候可以重新将表情代码转回表情图片。

image

jEmotion的代码托管在GitHub上,地址是 https://github.com/alswl/jEmotion

demo地址是 http://lab.log4d.com/javascript ...

more ...

AzaAjaxChat笔记-实现

唔,继续整理笔记,这些是在代码编写中遇到的问题和解决办法的总结,不是Turtial,问题有针对性,内容枯燥,路人可以直接忽略~

一、Comet服务器推技术

Comet推技术,一句话概括,就是形成一个不断开的连接,使得服务器能主动向客户端发送信息。这种技术在交互性强的Web产品中应用的非常多,比如GMail。Co met的实现方式有两种:基于 AJAX 的长轮询(long-polling)方式和基于 Iframe 及 htmlfile 的流(streaming)方式,具体两种实现方式可以参考Comet:基于 HTTP 长连接的"服务器推"技术

我计划把这个技术引入,成为一个亮点,第二种Comet实现方式过于复杂(GMail使用的就是这种),我就尝试第一种。我在测试环境测试了基于 AJAX 的长轮询 (long-polling)方式。这种方式说白了就是在Ajax获取返回数据时候,在状态吗为4(数据传输完成)情况随后进行下次查询。进行循环的查询 ...

more ...

IE XML 缓存问题

明天开始上交毕业设计初稿,其中有一节是遇到的问题和解决办法。我把平时在BooguNote 中的琐碎片段整理出来,便有了此文。

PS:之前已经有过3篇相关毕设的文章:

[CakePHP的全局变量

](http://log4d.com/2010/05/cakephp-global-variables)

[FMS的80端口占用

](http://log4d.com/2010/05/fms-80-port-used)

[SWFObject 一款JavaScript的Flash检测与插入模块

](http://log4d.com/2010/05/swfobject)

---- 正文开始 ----

问题背景

系统要实现一个操作,即每次向同一个url 请求一个GET方法获取一个xml文件,这个xml文件记录着聊天数据并且是即时生成的。当用FireFox或者Chro me请求时候都能获得正确的数据,而IE则常常出现无法获取实时的XML数据。

而如果在地址栏中填入 http://localhost/AzaAjaxChat/src/Chat/getXml?messageId=41 这个原始的XML文件地址,就可以获取正确的XML文件。并且在下次IE ...

more ...

SWFObject 一款JavaScript的Flash检测与插入模块

今天开始AzaAjaxChat的视频聊天模块,拖FMS的福,实现起来很轻松,不过后来在JavaScript和Flash的交互上遇到了问题。

Flash在各个浏览器中的实现始终是个麻烦的事情,什么Object Embed~,似乎没有什么标准的格式,一般都要做一些浏览器Hack,我对这些深痛恶绝,在 泡了一下午前端相关的论坛后,偶然发现一款JavaScript交互的神器。

image

SWFObject: 基于Javascript的Flash媒体版本检测与嵌入模块

SWFObject是一个用于在HTML中方面插入Adobe Flash媒体资源(*.swf文件)的独立、敏捷的JavaScript模块。该模块中的JavaS cript脚本能够自动检测PC、Mac机器上各种主流浏览器对Flash插件的支持情况。它使得插入Flash媒体资源尽量简捷、安全。而且它是非常符合搜索引擎优 化的原则的。此外,它能够避免您的 HTML、XHTML中出现object、embed等非标准标签,从而符合更加标准。

(即:通过text/html应答页面, 而非application/xhtml+xml)

官方在Google Project Host中,下载的代码包中有一个简单的Example,也包含了SWFObject的源码,感兴趣的同学可以研究一下。

相关链接:

[swfobject - Project Hosting on ...

more ...

开发跨浏览器JavaScript时要注意的问题

最近在做系统的B/S部分,用DWR做Ajax处理,期间遇到一些浏览器兼容的问题,table.insertRow()row.insertCell() 在IE下没有问题,但在FireFox下无效。同事说不用考虑FireFox的兼容,客户使用的环境就是IE。我偏执的认为就算不在所有浏览器下通过,至少在我的Fi reFox下需要正常运行。

晚上花了一点时间稍微研究了一下跨浏览器开发JavaScript时要注意的问题,的确好多学问。我对JavaScript的认识还太浅,得花时间做一些功课了。

顺便推荐一本JavaScript书《JavaScript语言精粹 》,是大名鼎鼎的"O'Reilly"系列,我只看了试读的第一章节,斗胆推荐

随网之舞《JavaScript语言精粹》 @ 随网之舞有更详细的介绍。

image

传送门:

购买《JavaScript语言精粹 》via China-Pub

评论 《JavaScript语言精粹》via 豆瓣

样章阅读第一章. 精华 第十章. 优美的特性

以下文章没有URL出处,作者 ...

more ...

jQuery图片圈人功能在ASP.NET下的改进

项目中需要一个类似于校内圈人效果的js控件,找了一下基本没有直接能用的,只有一些未完成,我只能自己动手了。 基本框架参照这篇文章《JS实现校内网"图片圈人 "功能效果》(强烈推荐这篇 文章,这段代码写的很帅气) 我把代码摘录如下,不过还是建议大家去看原文的一些分析。

原始Code:

运行环境: 1.jQuery支持 2.DragResize类(czy1121作者写的一个js类,更多信息可以参照《Javascript Resize和Drag类,基于jQuery》 )

样式:

#enclose-wrapper {
    position: relative;
    z-index: 0;
    border: 4px solid #DDD;
    background-color: #FFF;
}
#form-add-tag {
    margin-left: 8px;
    position: absolute;
    padding: 5px 3px;
    border: 1 ...
more ...

关于禁用Javascript的讨论

做用户验证时候,在为客户端和服务器端各自的验证发愁,这时候我想到一个问题,现在这么多网站依赖javascript来表现页面,那么如果禁用了会怎么样呢。

Google了一下,找到一篇06年的帖子。当客户端把Javascript禁用后,猛击这里打开

最让我吃惊的是这篇神奇的帖子从06年被讨论到09年,从挖坟N次,好狠...

摘录部分语句如下:

所以我会做一个纯HTML的首页,告诉人家不要屏蔽javascript,不要屏蔽ActiveX,不要............:( :(

看看Gmail怎么做的。我觉得那就是答案(的一种)。

禁止JS上在功能的使用上致少不该受到影响,但是国内的许多网站不去考虑这个。 只是盲目的跟风, 什么AJAX、什么体验,很多都是建立在JS上的,一旦使用的浏览 器不支持JS,就什么都没了。google做得不错,可是国内一些所谓的门户网站,像sinasohu163yahoo或多或少都存在一定的问题,这些站的首页或许没 什么问题,但看看其它的页面就知道。 既然浏览器提供了禁用JS、禁用COOKIE的功能,那我们就不得不考虑禁用后对我们的影响。

CJJ 老是走极端 ...

more ...