Я получил iframe внутри HTML и холст внутри iframe.
Когда я добавляю fabric.IText
к холсту, текст действительно появляется на холсте, но не может перетаскиваться или выполнять какие-либо действия.
Код JS
function addText(canvas){
var iText = new fabric.IText('Click twice to edit text', {
fontSize: 35,
textAlign: 'left',
fill: '#000',
});
canvas.add(iText);
canvas.centerObject(iText);
canvas.renderAll();
}
function loaded() {
var iframe = document.getElementById('theiframe');
var iframediv = iframe.contentWindow.document;
iframediv.body.innerHTML += '<canvas id="thecanvas"></canvas>';
var c = iframediv.getElementById('thecanvas');
var canvas = new fabric.Canvas(c);
canvas.setDimensions({width:500, height:304});
addText(canvas);
}
HTML код
<div>
<iframe id='theiframe' style='width:500px; height:304px' onload='loaded();'>
</iframe>
</div>
Здесь находится jsfiddle
Существует существующийпроблема на GitHub, но, к сожалению, она была закрыта без какого-либо решения. Поддерживает ли fabric.js холст внутри iframe?# 4805
Примечание: Я использую fabricJs в расширении Chrome, которое загружается как скрипт содержимого внутри iframe srcdoc
.Также я использую последнюю версию fabricjs 2.4.1