0

最近 Cropzoom 1.1 にアップグレードしたところ、png ファイルのサイズを変更する際に問題が発生し始めました。次のエラーが表示されます。

「キャッチされていない TypeError: 未定義のプロパティ 'filter' を設定できません」

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 に答える