是否有一个延迟加载函数用于在Coldfusion 8中创建图像?

时间:2012-07-11 21:05:08

标签: image coldfusion lazy-loading

我有一个产品搜索显示缩略图,并提供当前结果集的缩放视图(1-24个结果)。

在Coldfusion中我正在做这个来创建低分辨率和高分辨率图像:

<cfimage name="myImage" source="#bildpfad##bilddateiname#" action="read" />
    <cfif IsImage(myImage) is true>
    <cfscript>
        variables.breakdown = "";
        variables.lastcount = 0;
    </cfscript> 
    <!--- low res --->
    <cfscript>
        ImageSetAntialiasing(myImage,"on");
        variables.breite = ImageGetWidth(myImage);
        variables.breite = 240;
        ImageScaleToFit(myImage, variables.breite,"");
    </cfscript>
    <cfxml variable="imageXml">
        <cfimage action="writetobrowser" source="#myImage#" />
    </cfxml>
    <cfset variables.imageSrc = imageXml.xmlRoot.xmlAttributes.src>
    <!--- hi res --->
    <cfscript>
        variables.breite = 900;
        ImageScaleToFit(myImage, variables.breite,"");
    </cfscript>
    <cfxml variable="imageXmlXL">
        <cfimage action="writetobrowser" source="#myImage#"/>
    </cfxml>
    <cfset variables.imageSrcXL = imageXmlXL.xmlRoot.xmlAttributes.src>
    <cfoutput><div class="resultsImgWrap">
        <a href="#variables.imageSrcXL#">#imageXml#</a></div>
    </cfoutput>

虽然这可以很好地同时创建缩略图和缩放图像,但需要一段时间来处理......

所以我想知道Coldfusion中是否存在类似懒惰加载器的功能,它会立即显示缩略图并在后台创建缩放图像。

问题:
不知道这样的事情是否可行?或者如果有更好的方法,我也不介意。

感谢指点!

1 个答案:

答案 0 :(得分:2)

您可以调整一次大小(就像上传/添加图片后一样),并始终使用该缩略图。这将是我的选择。

至于延迟加载......你需要某种能够执行ajax图像加载的JavaScript插件。每个img src都可以是getThumnail.cfm?id=x&w=200&h=200。您也可以在CF侧缓存已调整大小的缩略图。