【问题标题】:Cropzoom PNG re-sizing issuesCropzoom PNG重新调整大小问题
【发布时间】:2013-09-24 16:12:39
【问题描述】:
我最近升级到 Cropzoom 1.1 并开始遇到重新调整 png 文件大小的问题。我收到以下错误。
"Uncaught TypeError: Cannot set property 'filter' of undefined"
Web 检查器指向以下代码行。
var ext = getExtensionSource();
if (ext == 'png' || ext == 'gif')
$image.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"
+ $options.image.source
+ "',sizingMethod='scale');";
任何建议将不胜感激!
【问题讨论】:
标签:
jquery
png
crop
image-resizing
jcrop
【解决方案1】:
也有同样的挑战。据我所知,它与具有透明度的PNG文件有关。 CropZoom 想要将 AlphaImageLoader 应用于它,但在许多浏览器中它不是受支持的操作,甚至不需要。
我的错误报告在 jquery.cropzoom.js 的第 163 行,所以我看了看,并从以下位置进行了快速编辑:
if (ext == 'png' || ext == 'gif')
$image.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"
+ $options.image.source
+ "',sizingMethod='scale');";
收件人:
if ((ext == 'png' || ext == 'gif') && $.browser.msie)
$image.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"
+ $options.image.source
+ "',sizingMethod='scale');";
而且它有效。
这也可能需要版本检查,我认为这段代码的目的是如果扩展支持透明度,使用 IE 的 DXImageTransform 使其在cropzoom 工具中显示为透明。我认为旧版本的 IE 主要需要它。