1像素Gif作为新的测量工具?o_O BLANK_IMAGE_URL它的用途是什么?

obe*_*iro 2 html javascript css extjs

我正在读ExtJs documantaion ..有一个BLANK_IMAGE_URL属性... documantation说它是1像素透明Gif的链接,允许核心测量......

我如何通过1像素Gif来测量某些东西?为什么这很重要?

PS:或者这可能是ExtJs开发者的一个大笑话......你知道......"哈哈!还有一个白痴设置BLANK_IMAGE_URL,真是个白痴!" :)

Chr*_*isR 5

ExtJS 2和3的安装指南建议您自己托管图像,在ExtJS 4中,图像甚至被数据uri方案(data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==)替换,因此它很可能不是跟踪图像,而是实际用于测量.

(尚未完成的)ExtJS 4文档给出了更好的解释:

Ext用于创建带有CSS背景图像的内嵌图标的1x1透明gif图像的URL.在旧版本的IE中,默认为"http://extjs.com/s.gif",您应该将其更改为服务器上的URL.对于其他浏览器,它使用内联数据URL

例如,这在setIconCls函数中使用.Inthere <img>使用Ext.DomHelper创建一个标签,该标签将此BLANK_IMAGE_URL作为src,将实际图标作为背景.通过这种方式,可以更容易地对其进行缩放,测量和放置尺寸,而不是使用<div><span>浮动或将其定位在整个空间周围以获得正确的尺寸.

// Ext.Panel.setIconClass
setIconClass : function(cls){
    // Snip ...
    Ext.DomHelper.insertBefore(hdspan.dom, {
        tag:'img', 
        alt: '', 
        src: Ext.BLANK_IMAGE_URL, 
        cls:'x-panel-inline-icon '+cls
    });
    // Snip ...
}
Run Code Online (Sandbox Code Playgroud)