Mar12

傲游、世界之窗下的getBoundingClientRect问题

问题 今天,同事爆料suggeestion在傲游、世界之窗下,使用滚轮缩放后,suggestion的框和input不能对齐,会出现类似下面的效果(示意图): 页面是quirk模式,如果换用standard模式,就不会有问题。 追踪 追查发现,发现计算input位置一个库函数得到的结果不准确。对比yui和jquery的代码后,发现处理逻辑完全一致:如果是IE系列,直接使用getBoundingClientRect得到元素的top和left,之后再看是否为qurik模式,决定是否要减去两个像素。 问题就很明确了,是getBoundingClientRect()返回值与实际值不一致。此外,发现一个现象,如果放大屏幕,那结果偏小,缩小屏幕,结果偏大。于是尝试使用getBoundingClientRect()的返回值除以放大比率,果然这样就匹配了。 解决 首先,建议页面全部使用standard模式。 由于不知道如何使用傲游或者世界之窗的方法来直接获得缩放比率,同时担心在不同的IE外壳下会有兼容性问题,于是写了下面这个函数,很trick,实在不行的时候可以考虑用用: function getIEShellZoomRate (){ var div = document.createElement(“DIV”); div.style.position = “absolute”; div.style.top = “100px”; document.body.appendChild(div); var divBox = (div.getBoundingClientRect()).top; if(!browser.isStrict){ //fix 2px in IE while in quirksmode divBox -= 2; } document.body.removeChild(div); return parseFloat(divBox/100); } 其他 初步判断,原因应该是getBoundingClientRect()返回值是真实肉眼看到的像素值,而如果把这个像素值设置到元素的top和left属性后,实际值会随着缩放效果放大或缩小,造成两者不一致。 此外,在傲游中,页面加载完毕后,需要闪烁一下才能到缩放后的效果,傲游可能是在获得IE的渲染结果以后,再自行放大,如果使用了standard模式,重新绘制的区域是没有缩放效果的。 IE外壳的确方便了最终用户使用浏览器,但是也无形中让用户更依赖一个本来就很破旧的浏览器,不愿意升级到浏览器的更新版本。 珍爱生命,远离IE;拒绝毒品,抵抗浏览器外壳。

trackback Tags: 评论

Mar8

IE6下文字图片消失的问题

ShareJ里的这个问题一直困扰着我。在IE6下,文字图片突然就无故消失了,在其他任何浏览器下都没有这个问题。而且那些元素在其他地方用都不会出现这样的问题……我只能用排除法一个个解决那些元素,头疼死了。 今天又发现在短消息页面下会出现这样的问题,无奈之下Google了一把,发现了解决办法。 有时会遇到文字或背景图突然消失的问题,刷新一下又出现了,这在靠近漂浮元素时更容易发生(注:没见过)。此时,可以为消失的元素设定: position: relative ,如果不行,再考虑为这些元素指定一个宽度试试。 于是,在.blank元素中加上position: relative,全部搞定。

trackback Tags: 评论 (1)

Apr28

微软推出IE插件主题网站

你一定知道Firefox有个插件网站:Firefox Addons,自从firefox 1.0在2004年推出以来已经投入使用。 最近微软也推出了一个类似的网站。这个IE插件主题网站提供了免费和收费的IE6和IE7 BETA2插件并且分成四类:安全,省时,浏览和娱乐。同时还提供了搜索工具来帮助用户筛选插件。 不过,东西还很少,而且还有价码标,为什么M$就是这么功利?

trackback Tags: 评论

Apr27

尝鲜 – 绿色版 IE7

前天发布了IE7的最新BETA版 这里有一个绿色的IE7 供大家尝鲜 👿 下载

trackback Tags: 评论

Apr25

Internet Explorer 7 Beta 2 正式发布

在经过了长时间的测试与频繁地改动之后,Internet Explorer 7终于如微软所承诺的那样,在本月中发布Beta2测试版本。新版本的稳定性、安全性与兼容性较IE6和之前的测试版本有了很大的改进,软件的用户界面也经过修改,显得更加简洁美观。新加入的标签功能使用户在遨游网络的时候更加得心应手。 本次Beta2版本除了XP SP2的版本之外,还发布了面向Windows XP/Server 2003 x64的版本、Server 2003 IA64版本和Server 2003 SP1的版本 下载

trackback Tags: 评论

Mar29

firefox 2.0 alpha 1Bon echo 与 IE 7 内存使用对比

CNN.com IE 43,176K Firefox 24,264K Fark.com IE 47,104K Firefox 27,826K ESPN.com IE 71,200K Firefox 28,800K Amazon.com IE 71,436K Firefox 30,476K Digg.com IE 88,296K Firefox 20,420K TorrentSpy.com IE 43,700K Firefox 37,628K Slashdot.org IE 42,640K Firefox 37,584K 都喊叫 FF 占内存,看看这些数据吧。BTW:windows 的 explorer和 IExplore 本来就混在一起,要算也要都算,这是老话了。

trackback Tags: 评论 (1)