2021年3月2日火曜日

fancy product designerローカルSVG画像使用時正しく表示されない対応

fancy product designer(https://fancyproductdesigner.com/) jqueryバージョンの最新有料版を使っていますが、ローカルSVGをdesignerに入れると、正しく表示されない。

ソースには、ローカル画像をstageに入れる場合、FileReaderを使用する。

reader.readAsDataURL(file);

ここで、SVGでもDataURL形式で読み込まれる。

addElement functionで、読み込まれた結果をSVGかどうかの判断がありますが、DataURL形式のため、ただしく認識できない。

if(source.search('<svg') !== -1) 


解決するには、SVGから変換されたDataURL形式なら、もとのテキストファイルに戻す。

ソースコードの5937行の後に下記追加

if(source.search(/data:image\/svg\+xml;base64,/) >= 0) {

    source = atob(source.replace(/^data:image\/svg\+xml;base64,/, ''));

}


0 件のコメント:

コメントを投稿