代码之家  ›  专栏  ›  技术社区  ›  karthick

openlaszlo有类似数据uri的特性吗?

  •  1
  • karthick  · 技术社区  · 12 年前

    我想知道openlaszlo是否有数据uri功能。下面的例子将显示一个红点,其中红点是一个图像,base64数据被传递给它。有可能这样做吗?

    下面给出了一个例子

    <div>
        <p>Taken from wikpedia</p>
        <img src="data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAAUA
    AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO
        9TXL0Y4OHwAAAABJRU5ErkJggg==" alt="Red dot" />
    </div>
    
    1 回复  |  直到 12 年前
        1
  •  2
  •   Community CDub    3 年前

    您引用的是中指定的数据URL RFC 2397 。OpenLaszlo不支持该功能,而且它只与DHTML应用程序相关。对于SWF运行时,可以将图像作为静态资源编译到SWF文件中,从而增加文件大小并减少发送到服务器所需的请求数量。

    内联图像也有大小限制。根据上述RFC,浏览器只需要支持长度高达1024字节的URL。然而,浏览器在接受什么方面更为自由。Opera将数据URL限制为大约4100个字符。Firefox支持高达100K的数据URL,这意味着您应该只对中小型图像使用该技术。

    尽管OpenLaszlo不支持数据URL,但在我看来,还有一个类似的、更强大的选项。自动生成 CSS sprites 用于作为静态资源添加的图像。当您选择“使用主精灵”编译选项时,OpenLaszlo编译器将创建一个包含所有静态资源的PNG精灵图。

    OpenLaszlo DHTML Runtime 'Use master sprite' compile option

    以下是OpenLaszlo天气小部件的主精灵PNG示例。浏览器只需要发出一个请求,而不需要发出多个下载单个图像的请求。

    OpenLaszlo weather demo CSS sprite generated by the OpenLaszlo compiler