Galleria Fatal error: Не удалось извлечь высоту сцены из CSS. Высота трассировки: 0px
Если у меня есть строка <style type="text/css"></style>
, хотя она не заполнена, Galleria выдает сообщение об ошибке "Fatal error: Не удалось извлечь высоту сцены из CSS. Высота трассировки: 0px".
Казалось бы, хотя я говорю galleria использовать высоту 300 через:
$('#galleria').galleria({
width: 300,
height: 300,
transition: 'fade'
});
он пытается сначала определить высоту, и строка CSS сбивает ее с толку, поэтому она выдает эту ошибку. Если я удалю эту одну строку, больше не будет ошибок.
В любом случае я могу использовать <style type="text/css"></style>
? мы используем его, чтобы настроить внешний вид нашего сайта на основе использования клиентом.
Ответы
Ответ 1
Убедитесь, что вы включили:
Руководитель:
<link type="text/css" rel="stylesheet" href="galleria/themes/classic/galleria.classic.css">
<script type="text/javascript" src="js/galleria-1.2.5.min.js"></script>
<script type="text/javascript" src="galleria/themes/classic/galleria.classic.min.js"></script>
Также в стиле страницы:
#galleria{height:467px}
И под изображениями:
<script type="text/javascript">
$('#gallery').galleria({
width: 700,
height: 467 //--I made heights match
});
</script>
Если у вас есть проблемы с этим устранением неполадок с чистой установкой и добавьте, пока не найдете причину.
Ответ 2
Вам нужно указать контейнер изображения галереи в css.
Вот где galleria показывает изображения в (поэтому он должен быть меньше высоты самой галереи).
.galleria-stage {
height: 450px;
position: absolute;
top: 10px;
bottom: 60px;
left: 10px;
right: 10px;
overflow: hidden;
}
Ответ 3
Это может помочь кому-то, кто до сих пор получает эту ошибку: -
Я получил эту ошибку, потому что у меня была скрытая галерея.
FIX: -
Дайте галерее div высоту в CSS, затем в js файле,
Galleria.run('#gallery', {
height: parseInt($('#gallery').css('height')),
wait: true
});
Смотрите эти ссылки для получения дополнительной информации: -
http://galleria.io/docs/references/errors/
http://galleria.io/docs/options/wait/
Ответ 4
У меня была эта ошибка только в IE. Решение состоит в том, чтобы заставить высоту.
В CSS galleria.classic.css добавьте высоту для класса .galleria-stage
Пример.
.galleria-stage {
height:450px; <-- set this to any height and i should work :)
position: absolute;
top: 10px;
bottom: 60px;
left: 10px;
right: 10px;
overflow:hidden;
}
Ответ 5
Scenerio
Если это происходит с вами, это, скорее всего, потому, что вы скрываете элемент Galleria при загрузке страницы. Это упоминается в нескольких других ответах, но решения, которые эти ответы наброски не обязательно являются лучшими методами.
Проблема
Для меня у контейнера Galleria установлено значение display:none;
при запуске страницы. Объект Galleria находится в лайтбоксе, поэтому он не отображается, пока пользователь не нажмет на кнопку. Это свойство display:none
является тем, что вызывает проблему.
Решение
Вместо скрытия элемента с display:none;
используйте большое отрицательное левое поле, например left:-9999px;
или margin-left:9999px
. Любой из этих методов обеспечит правильную загрузку Galleria.
Ответ 6
Попробуйте установить DocType, как показано ниже, если вы используете классическую тему вместе с настройкой высоты и ширины в классе css.galleria-stage css в файле galleria.classic.css
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 //EN">
Ответ 7
У меня была такая же проблема при использовании jQuery galleria
, и я решил ее.
Я изменил некоторые параметры в galleria-1.2.5.min.js.
Здесь - ссылка для загрузки библиотеки, просто скопируйте код и вставьте его в файл js.
Ответ 8
Я использовал один и тот же pb. то я попробовал что-то еще. все мои файлы javascript были в конце моего html файла. поэтому я попытался переместить их все непосредственно перед тегом закрытия </head>
.
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
<script type="text/javascript" src="lib/galleria/galleria-1.2.5.js" /></script>
<script type="text/javascript" src="lib/galleria/themes/classic/galleria.classic.min.js"></script>
</head>
Я не очень доволен кодированием этого способа (т.е. javascript в конце). во всяком случае, это работает, и галерея великолепна!
Ответ 9
Я добавляю ответ на этот вопрос, поскольку все вышеперечисленное не работает для меня. В моем случае я загружал galleria (1.2.7) динамически внутри встроенного виджета javascript для перекрестных доменов. Несмотря на то, что высота сцены была установлена правильно, скрипты были загружены, и galleria инициализировался правильно, это сообщение об ошибке будет периодически отображаться.
В результате я изменил источник galleria, чтобы отключить отображение сообщений об ошибках (возможно, лучшим вариантом было бы сделать это зависимым от флага отладки, однако я не чувствовал необходимости)
Galleria.raise = function( msg, fatal ) {
var type = fatal ? 'Fatal error' : 'Error',
self = this,
css = {
display: none;
},
Ответ 10
В соответствии с инструкциями , раздел Setting dimensions
, сделайте это в своем CSS
(очевидно, отключите #galleria
для чего-либо вы id вашей оберткой, я использую класс, называемый galleria, поэтому я использую .galleria
)
#galleria { width: 700px; height: 400px; }
Ответ 11
После нескольких попыток, ни один из вышеперечисленных решений не работал у меня. Является странной ошибкой, так как она трудно реплицировать и отслеживать, иногда работает, а иногда и нет.
Но попытки найти вещи в сети, похоже, это работает, к моменту. Для тех, кто застрял с этим, я думаю, стоит попробовать:
- Открыть
galleria-1.2.6.min.js
- Заменить
timeout:1E4
строку для timeout:1E10