文章标签 » ie

comet的两个小问题

最近做了一个webim的项目,使用长连接做push,在chrome和ie下有些小问题

1. chrome的左下角下一直显示等待push.xx.com的响应

解决方法:接到请求立刻返回http头就可以了,不等到有了推送再返回http头

2.ie下对于每个域名同一时刻最多只能有两个并发请求,如果开多个窗口(这个限制不是针对单个窗口的),有的请求便会被阻塞。

解决方法:对每个窗口使用不同的请求域名
使用三级泛域名配置起来最简单,例如:123.push.xx.com.但是JS里涉及到跨域的问题,所以还是要使用push-123.xx.com这样的二级域名。查了下bind9的手册可以这么搞

;示例
$GENERATE 0-100000 push-$ IN A xx.xx.xx.xx

这样ie下JS可以用时间戳或随机数决定一个domain去请求,不会产生阻塞

getAttribute(‘onclick’) in IE

第n次火星了,可是依然没去过火星.
这个是最近用到才知道,需求是替换onclick属性中的关键字,但是俺单纯的以为geAttribute都会返回一个字符串给我,没想到ie又一次显示了它独到的见解~


click me~

ff下输出

alert('click');
string

ie6和ie7下输出:

function anonymous()
{
alert('click');
}
function

ie8下输出:

function onclick()
{
alert('click');
}
function

其他事件属性肯定也会有同样表现,ie8十分搞笑,换了一个函数名…

最后对于ie我只有这样了:


click me~

ie下的默认回车提交之强大…

ie下如果您在text输入框按回车就会默认将表单提交,可是俺万万没有想到,竟然强大到连submit的onclick事件都能触发了…

示例1:input外面有form标签,输入框按回车会提交表单



示例2:input外面没有form标签,输入框按回车会触发submit的onclick事件







ajax提交流行的今天,form标签往往直接被省略,所以这个特性很可能造成用户在某个输入框按了回车,然后某处一个不相关的button被ie点了一下….

ie下title里出现重复锚点的bug

以前人品好,没碰到过…

情况就是当页面里有n(n>0)个flash,而且url里带有锚点时页面的title后面就会跟n个锚点

screenshot_014.png

应该算adobe flash 的bug吧,具体:

http://bugs.adobe.com/jira/browse/FP-240

IE appends anchor name to title bar

adobe的网站上说Flash Player 9 – 9_0_124_0,IE7下才有这个问题,可俺的问题是在flash10,ie6下发现的,不靠谱……