サムネイルから画像をドラッグしてキャンバスにドロップして描画することを実装しています。
イベント ondragstart で datatransfer.setdata() を使用し、イベント ondrop で datatransfer.getdata() を使用しました。Firefox では問題なく動作しますが、Chrome では動作しません。Chrome ではデータ転送がサポートされていないことがわかりました。それで、クロスブラウザ互換性もあるはずの良い解決策は何ですか?
function dragIt(event) {
event.dataTransfer.setData("URL", event.target.id)
};
function dropIt(event) {
var theData = new Image();
theData = event.dataTransfer.getData("URL");
dt = document.getElementById(theData);
event.preventDefault();
var ctx = this.getContext('2d');
ctx.clearRect(0,0,this.width,this.height);
ctx.drawImage(dt, 0, 0);
};
var out = document.getElementById('out');
var Can1 = document.createElement("canvas");
Can1.height="100";
Can1.width="100";
Can1.style.cssText = 'position:relative; top:5px;left:500px;border:2px solid black;'
Can1.ondragover = function(event) {
event.preventDefault();
};
Can1.ondrop = dropIt;
out.appendChild(Can1);