2012-08-22 33 views
1

我想知道开放laszlo有数据uri功能。以下示例将显示一个红色圆点,其中红色点是图像,base64数据传递给它。是否有可能做这样的事情?openlaszlo有一个像数据uri一样的功能吗?

例子如下

<div> 
    <p>Taken from wikpedia</p> 
    <img src="data:image/png;base64, iVBORw0KGgoAAAANSUhEUgAAAAUA 
AAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO 
    9TXL0Y4OHwAAAABJRU5ErkJggg==" alt="Red dot" /> 
</div> 

回答

2

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

内嵌图像也有大小限制。根据上述RFC,浏览器只需要支持长达1024个字节的URL。然而,浏览器在他们接受的内容上会更自由。 Opera将数据URL限制为约4,100个字符。 Firefox支持高达100K的数据URL,这意味着您应该只使用该技术来处理中小尺寸的图像。

尽管OpenLaszlo中不支持数据URL,但在我眼中却有一个更强大的选项可用。为您添加为静态资源的图像自动生成CSS sprites。当您选择“使用主精灵”编译选项时,OpenLaszlo编译器将创建一个包含所有这些静态资源的PNG精灵贴图。

OpenLaszlo DHTML Runtime 'Use master sprite' compile option

这里是主精灵PNG为OpenLaszlo的天气窗口部件的一个例子。浏览器只需提出一个请求,而不是多次请求下载单个图像。

OpenLaszlo weather demo CSS sprite generated by the OpenLaszlo compiler

+0

ok..But此选项不会解决我的目的是因为有大量的图片,我想请求在runtime.And图像更超过我不想将图像保存在文件系统。 – karthick

+0

数据网址如何帮助解决这个问题?他们必须嵌入到您正在加载的页面的HTML代码中,这不是运行时,而是加载时间。 –

+0

我想打开laszlo中的iframe组件,它将加载一个虚拟html。我将有一个加密的图像,我将解密它,并通过目标c创建一个base64字符串,并将其设置为JavaScript。稍后,我会从打开的laszlo中读取该图像,并在加载的虚拟html中创建图像。 – karthick

相关问题