我最近升级到了Cropzoom 1.1并开始遇到重新调整png文件大小的问题。我收到以下错误。
“未捕获的TypeError:无法设置未定义的属性'过滤器'”
Web检查员指着以下代码行。
var ext = getExtensionSource();
if (ext == 'png' || ext == 'gif')
$image.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='"
+ $options.image.source
+ "',sizingMethod='scale');";
任何建议都将不胜感激!
答案 0 :(得分:0)
也有同样的挑战。从我可以推断出,它与具有透明度的PNG文件有关。 CropZoom希望将AlphaImageLoader应用于它,但在许多浏览器中,它不是受支持的操作,甚至不需要。 我的错误报告在jquery.cropzoom.js的163ish行上,所以我看了一眼,然后快速编辑:
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的需要。