Fotorama: как решить проблему с получением API объекта?
Вопрос был задан давно, но я, всё же, отвечу. Только что возникла такая же проблема, нагуглил этот топик, и его копию на stackoverflow :) и там и там нет ответов, может быть кому-то поможет. Решил проблему так:var images = [];
var fr = $('.fotorama').fotorama();
var fotorama = fr.data('fotorama');
for (var i in resp.product.images) {
	if (resp.product.images[i])
		images.push({img: resp.product.images[i]});
}

if (fotorama) {
	fotorama.load(images);
} else {
	$('.fotorama').fotorama({data: images});
}
Возможно дело в том, что объект не инициализирован, а вызвав fotorama с data - мы его инициализируем корректно.
var el =$.find('.fotorama');
if (el.length > 0) {
    if (!el.data('fotorama')) {
        el.fotorama();
    }
}
Тоже не очень элегантное решение. Но работает.