У меня довольно простая проблема, но я не знаю, что вызывает проблему. В одном из своих приложений я использую jCrop в качестве небольшого дополнения для обрезки изображений, чтобы они помещались в баннеры / заголовки и т. Д. Будут предприняты следующие шаги:
1) Select an image (using CKFinder for this, CKFinder returns the image path to an input field)
2) Click a button to load the image
3) Crop the image
4) Save the image
примерно в 75% случаев все идет по плану, однако в остальных 25% случаев jCrop не загружает область обрезки и оставляет ее пустой. Вот код jQuery, который я использую:
jQuery('#selectimg').live('click', function(e) {
e.preventDefault();
var newsrc = jQuery('#img2').val();
jQuery('#cropbox').attr('src', newsrc);
var jcrop_api = jQuery.Jcrop('#cropbox', {
boxWidth: 700,
boxHeight: 700,
onSelect: updateCoords,
onChange: updateCoords
});
//Some other JS code come's here for buttons (they work all the time)
});
Я заметил, что, когда я оставил ту часть, где #cropbox трансформируется в посевную область, что изображение загружается нормально, поэтому ошибка связана с частью var = jcrop_api
, но я медленно начинаю думать, что для этого нет решения ...
Это то, что я пробовал до сих пор:
Создание div
и использование jQuery ('# cropper-box'). append (' ');
и затем установите значение. Я попробовал то же самое, но установил src изображения за 1 шаг, а не потом.
Я попытался разместить заполнитель на странице
и измените источник, нажав кнопку. Это работает, но область кадрирования сохраняет размер изображения (300x180 пикселей или что-то в этом роде) и не становится больше, как должно.
// Правка:
Еще несколько попыток показали мне, что источник изображения заменяется правильно (! С использованием Firefox для отображения источника выбранного текста), я дважды проверил URL-адрес, но это был правильный URL-адрес и рабочее изображение.
В том месте, где должна быть обрезка, есть белое пятно размером примерно 10x10 пикселей, где появляется значок обрезки (знак плюса) ... но, как было сказано ранее: изображение не отображается.
// Редактировать 2:
Итак, я взял исходники и для 1-й, и для 2-й попытки для одного и того же изображения. Как было сказано перед первой попыткой, изображение не загрузится должным образом, а вторая попытка загрузится (только если вторая попытка - это то же изображение (!!)).
Выбранный источник страницы показывает одно различие, то есть сначала попробуйте :
<img style="position: absolute; width: 0px; height: 0px;" src="http://95.142.175.17/uploads/files/Desert.jpg">
вторая попытка:
<img style="position: absolute; width: 700px; height: 525px;" src="http://95.142.175.17/uploads/files/Desert.jpg">
Я думаю, это изображение заменяется jCrop, но это ' Это полная загадка, почему в первый раз ставится 0 высота / ширина, а во второй раз правильный размер.