У меня есть веб-сайт, на котором я использую javascript и pannellum API для загрузки нескольких 360 панорамных видов.
Иногда происходит сбой браузера, особенно когда на моем iPhone 6 в режиме VR, когдав разных DIV требуется всего шесть экземпляров паннеллума.
Насколько я могу судить, браузер дает сбой при вызове паннеллюма, который я выполняю из функции eval, так как данные, которые я передаю паннеллюму, содержатся впеременная.
Вот вызов, плюс последующая строка, которая сообщает нам, что панорама загружена.
eval("RightPanoInt=pannellum.viewer('RightPanoIntermediary', " + PanoDataIntermediary +");");
RightPanoInt.on("load", function() { LoadedRightPanoIntermediary(); });
Где
RightPanoInt - переменная, которую я могу использоватьчтобы проверить, загружена ли панорама
RightPanoIntermediary - это идентификатор DIV, в который должна быть загружена панорама.
и
PanoDataIntermediary - переменная, содержащая данные / параметрынужно по API паннеллюма.
Например,
{"autoLoad": true, "pitch": 0, "yaw": 73, "vaov": 180, "haov": 360, "vOffset": 0, "маxPitch ": 90," minPitch ": -90," maxYaw ": 180," minYaw ": -180," maxHfov ": 100," hfov ": 100," minHfov ": 10," showFullscreenCtrl ": false,"Ориентация: «false», «showControls»: false, «панорама»: «002.jpg», «предварительный просмотр»: «BackgroundPaleGreen.jpg»}
Данные будут другими при следующем вызове,поэтому параметры должны быть в переменной PanoDataIntermediary.
Какой альтернативный метод функции eval я могу использовать для того же вызова?