0

我最近升级到 Cropzoom 1.1 并开始遇到重新调整 png 文件大小的问题。我收到以下错误。

“未捕获的类型错误:无法设置未定义的属性‘过滤器’”

Web 检查器指向以下代码行。

var ext = getExtensionSource();
if (ext == 'png' || ext == 'gif')
    $image.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"
        + $options.image.source
        + "',sizingMethod='scale');";

任何建议将不胜感激!

4

1 回答 1

0

也有同样的挑战。据我所知,它与具有透明度的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。

于 2013-09-27T17:24:16.860 回答