jCrop (jQuery) ne parvient parfois pas à charger la zone d'image / de recadrage

J'ai un assez simple problème, mais je n'ai aucune idée sur ce qui est à l'origine du problème. Dans une de mes applications, je suis en utilisant jCrop comme un petit add-on pour recadrer les images pour les adapter à des bannières/headers etc. Ces mesures seront prises:

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

dans environ 75% des cas tout se passe selon le plan, cependant le dans 25% des cas jCrop ne parvient pas à charger la zone de rognage et le laisse vide. Voici le code jQuery que j'utilise:

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)
});

J'ai remarqué que quand j'ai quitté la partie où l' #zones de recadrage est transformd dans un cropable zone, que l'image est en cours de chargement très bien, si l'erreur se situe à la var = jcrop_api partie, mais je slowsly commencez à penser à ce qu'il n'y a pas de solution pour ce...

C'est ce que j'ai essayé jusqu'à présent:

Faire un div <div id="cropper-box"></div> et l'utilisation jQuery('#cropper-box').append('<img src="" id="cropbox" />'); et ensuite définir la valeur. J'ai essayé la même chose, mais le réglage de l'image src en 1 étape et non après.

J'ai essayé de mettre un espace réservé sur la page <img src="placeholder.png" id="cropbox" /> et modifier le code source en cliquant sur le bouton. Cela fonctionne, mais le cropperarea reste la taille de l'image (300x180px ou quelque chose) et n'est pas plus grand comme il se doit.

//Edit:

Essayer quelques-uns de plus m'a montré que la source de l'image est remplacée correctement(! l'utilisation de Firefox pour voir la source pour le texte sélectionné), j'ai une double vérification de l'URL, mais ce fut une URL correcte et une image de travail.

À l'endroit où le métayer doit être, il y a un sujet de 10x10 pixels blancs endroit où le métayer icône (signe plus) est popping up.. mais comme dit avant: l'image n'est pas affichée.

//Edit 2:

Donc j'ai pris les sources de la 1ère et de la 2ème essai pour la même image. Comme dit avant de l'essayer d'abord l'image ne se charge pas correctement et le 2ème essai, il n' (uniquement lors de la 2ème essai est la même image(!!)).

Sélectionné la source de la page 1 montre la différence qui est, essayez d'abord:

<img style="position: absolute; width: 0px; height: 0px;" src="http://95.142.175.17/uploads/files/Desert.jpg">

deuxième essai:

<img style="position: absolute; width: 700px; height: 525px;" src="http://95.142.175.17/uploads/files/Desert.jpg">

Je suppose que c'est l'image qui est en train de remplacer par jCrop, mais c'est une complète devinette pourquoi il met 0 hauteur/largeur de la première et de la bonne taille le deuxième temps.

source d'informationauteur Joshua - Pendo