Пропущенная ячейка в сетке загрузочного изображения только для Firefox и IE 11

#javascript #css #angularjs #twitter-bootstrap #cross-browser

#javascript #css #angularjs #twitter-bootstrap #кросс-браузерный

Вопрос:

На изображении внизу показано представление сетки начальной загрузки из 6 изображений размером 275,5 пикселей. Там, где пустое место, должны быть дополнительные изображения, они были пропущены по неизвестной причине. Во всей этой сетке около 70 изображений, когда в столбце 4 это происходит на изображении # 40. В столбце 3 это происходит на изображении # 39. Для столбца 2 эта проблема не существует. Это происходит только в IE11 и Firefox, а не в Chrome. Каждое изображение имеет одинаковый размер, в каждой ячейке нет разнообразия.

  • Bootstrap v3.3.7
  • normalize.css v5.0.0
  • AngularJS v1.4.8
  • ng-директива-lazy-image

Шаблон заключается в том, что при загрузке страницы angular вызывает обработчик .ashx, который возвращает JSON. JSON привязан к повторяющимся разделам с помощью стиля начальной загрузки. Возвращаемый JSON является чистым, как и разметка. Между этими 2 ячейками нет ненужных данных. Существует некоторая задержка загрузки изображений, на всякий случай, если это может быть потенциальной основной причиной. В отладчике F12 нет ошибок, хотя Firefox жалуется на директивы по стилю, предоставляемые bootstrap.css, что, вероятно, является известным явлением.

Пример JSON

 [{
"id": "Product 1",
"order": 1,
"thumbnailUrl": "http://local.testsite.com/~/media/19F6.ashx"
},
{
"id": "Product 2",
"order": 2,
"thumbnailUrl": "http://local.testsite.com/~/media/9557.ashx"
}]
  

Пример сгенерированной разметки. Вы получаете 1 такой div для каждого продукта.

 <div class="col-xs1-home-6 col-xs2-home-4 col-sm-home-6 
col-md-home-4 col-lg-home-3 ng-scope" ng-repeat="brand in ctrl.brands">                  
  <a href="#/gradeline?brand=Product1" 
  ui-sref="gradeline({ brand: brand.id })">
    <img src="http://local.testsite.com/~/media/19F6.ashx" 
    ng-src="http://local.testsite.com/~/media/9557.ashx">
  </a>             
</div>
  

Я попытался добавить записи в базу данных, чтобы ячейки были кратны 4, на всякий случай, если он пытался сделать так, чтобы последняя ячейка попала в 4-й столбец. Это не помогло. Я также попробовал некоторые общеизвестные стили «очистить исправление» для обозначения конца строки.

Отсутствующие элементы ячейки

Комментарии:

1. Посмотрите на src изображения, оно содержит символ ~, вам это не нужно, это не asp.net применение.

2. Не обращайте на это внимания. На самом деле это ASP.NET приложение с Sitecore 6.6 поверх него. Эти продукты поставляются с Commerce Server 2009. Для целей этого вопроса все это абстрагируется обработчиком ashx, который выдает нам JSON. ~ Вы видите, как он попадает на изображения в медиа-библиотеке для Sitecore. Мы делаем то же самое в другом приложении, подобном этому, но достаточно другого животного, чтобы мы не могли воспроизвести ту же проблему с сеткой.