Что может привести к тому, что мой сценарий jcrop не будет работать в ie8 и ie10, хотя он работает в ie9 и во всех других основных браузерах?

Мне трудно отлаживать это, так как оно не возвращает никаких ошибок и работает в ie9. Мне было интересно, есть ли какая-то общая проблема, из-за которой скрипт работает в ie9, но не в ie8 и ie10. Я нахожу довольно странным, что эта ошибка пропускает версию.

Мой код:

<script type="text/javascript">     

  jQuery(function($){

    // Create variables (in this scope) to hold the API and image size
    var jcrop_api,
        boundx,
        boundy,

        // Grab some information about the preview pane
        $preview = $('#preview-pane'),
        $pcnt = $('#preview-pane .preview-container'),
        $pimg = $('#preview-pane .preview-container img'),

        xsize = $pcnt.width(),
        ysize = $pcnt.height();

    console.log('init',[xsize,ysize]);
    $('#picture').Jcrop({
      aspectRatio: <?php echo $_POST["aspectRatio"]; ?>,
      setSelect:   [ 0, 0, 300, 300 ],
      onSelect: updateCoords
    },function(){
      // Use the API to get the real image size
      var bounds = this.getBounds();
      boundx = bounds[0];
      boundy = bounds[1];
      // Store the API in the jcrop_api variable
      jcrop_api = this;

      // Move the preview into the jcrop container for css positioning
      $preview.appendTo(jcrop_api.ui.holder);
    });


    function updatePreview(c)
    {
      if (parseInt(c.w) > 0)
      {
        var rx = xsize / c.w;
        var ry = ysize / c.h;

        $pimg.css({
          width: Math.round(rx * boundx) + 'px',
          height: Math.round(ry * boundy) + 'px',
          marginLeft: '-' + Math.round(rx * c.x) + 'px',
          marginTop: '-' + Math.round(ry * c.y) + 'px'
        });
      }
    };

        function updateCoords(c)
  {
    $('#x').val(c.x / <?php echo $correctieCoordinates; ?>);
    $('#y').val(c.y / <?php echo $correctieCoordinates; ?>);
    $('#w').val(c.w / <?php echo $correctieCoordinates; ?>);
    $('#h').val(c.h / <?php echo $correctieCoordinates; ?>);
  };

  function checkCoords()
  {
    if (parseInt($('#w').val())) return true;
    alert('Please select a crop region then press submit.');
    return false;
  };      

  });   

</script>

Функция jcrop не инициализируется в ie8 и ie10. Но работает в ie9 и во всех основных браузерах.


person user25312    schedule 11.10.2013    source источник
comment
IE больше не является основным браузером? :)   -  person eis    schedule 11.10.2013
comment
О, если бы это было не так. Это были мои надежды. :П   -  person user25312    schedule 11.10.2013


Ответы (1)


изменение

$('#picture').Jcrop({

to

jcrop_obj = jQuery.Jcrop('#picture', {

сделал трюк.

person user25312    schedule 11.10.2013