3

キャンバスに SVG を埋め込もうとしていますが、SVG が自分のドメインから提供されると、イベント フェーズ 2でエラーが発生します。興味深いのは、同じ画像が別のサーバーでホストされている場合、正常に動作することです。私がテストしている画像はこちらのものですwget画像を画像フォルダに配置しても、同じエラーが発生します。ただし、ドキュメントに配置すると機能しますが<object data="/images/tiger.svg" type="image/svg+xml"></object>、ソースをjavascriptで設定してキャンバスに描画すると機能しません。

画像が私のドメインでホストされているときにどのエラーが発生するかを使用しているコードは次のとおりです。

var canvas = document.getElementById('my-canvas'),
    ctx = canvas.getContext('2d'),
    img = new Image();
img.onload = function() { ctx.drawImage(img, 0, 0); };
img.onerror = function(err) { console.log(err); };
img.src = '/images/tiger.svg'; // replacing this with 'http://phrogz.net/svg/tiger.svg' does work

Firebug からのエラー データは次のとおりです。

NONE                          0
defaultPrevented            false
multipleActionsPrevented    false
stopImmediatePropagation    stopImmediatePropagation()  
bubbles                     false
cancelable                  false
eventPhase                    2
isTrusted                   true
timeStamp                   1373387631408000
type                        "error"
4

1 に答える 1