Barba.js на modx evo

Добрый день. Возможно кто-то сталкивался с подобным. Делаю сайт с переходами на barba.js. В целом все отлично работает. Кроме 1 момента. Есть скрипт magic360.js. Это скрипт для просмотра изображения в 360 градусов. Это глобальная функция. Как ее можно обновлять при переходах? Может можно каким нибудь снипетом? У этого скрипта нет инициализации. Поэтому запустить его ajax.load() не получается.Может есть какие идеи? По обновлению глобальных функций ничего не нашел.

12 комментариев

avatar
Ну почему, ПОЧЕМУ каждый раз, а? Ну серьезно? MODX это непонятная субстанция непонятного происхождения. Это обычный фрейморк + удобная админка. Но законы физики, точнее программирования здесь те же самые. При переходе на другую страницу вы отправляете серверу новый запрос и получаете новый ответ. Хотите что-то запоминать на стороне js — учите его. Тут вам и куки помогут или лучшее решение local.storage. Но зачем писать в паблике MODX о вопросах которые к нему не относятся. Это реально напоминает случай гогда мне присли магнитофон с просьбой починить, потому что я разбираюсь в компьютерах…
avatar
Спасибо за ответ. Только я не могу заставить работать этот скрипт. И тоже самое могу процитировать, почему, почему, если ты все знаешь и не лень написать столько текста, просто дать пример как это реализовать, вместо кучи никому ненужных букв. Знаешь как помоги, буду очень благодарен, я не знаю как. На форумах по barba.js молчат, никто не отвечает. Моих познаний в js не хватило, чтобы реализовать подобный функционал, поэтому написал и здесь. Тем более здесь хватает умных и отзывчивых людей.
avatar
И при чем здесь local.storage? Если мне эту функцию надо обновлять на каждой странице.
avatar
а вот это уже правильный вопрос. На ваш прочий посыл отвечать не буду.
Запоминайте значения на одной странице и при переходе его отдавайте скрипту. Как именно это сделать — ваша задача. Через локальный.гараж — мне видится самое оно.
avatar
С этой функцией есть проблема.В барбе можно прослушивать события и изменять значения при переходе, за пределами контейнера. Я так обновляю мета теги, классы у body, но я не знаю (не нашел) как обновлять при переходе скрипт, который подключен за пределами барба контйнера, мне надо обновить этот скрипт сижу 4 день ничего не нашел.
avatar
ты писал же про графики. Не суть.
Смари, нам никто не мешает в щаблоне или как-то еще написать (скрипт)
global = [!… !] // результат скрипта
(/скрипт)
но если честно я твою задачу задачу с трудом понимаю после последнего предложения. Ты хочешь сделать сайт полностью на аяксе, но с подругзкой js для разынх страниц? Типо как ВК?
avatar
Нет, js которые можно инициализировать, я и вывожу для каждой страницы отдельно, за счет этого возрастает скорость страниц, но эта функция дебильная, она сама анализирует DOM, и обновляетпути для 3 d изображений. Но ее надо каждый раз перезагружать
avatar
вздрогнули! И начали переписывать функцию? Чтобы не оффтопить — напиши мне @dvakotaby в телегу. Если не решим — здесь вторую ветку вопроса откроешь
avatar
Действительно, Evo здесь «не при делах». Единственное, что в Evo есть конкретно на тему Яваскрипта — это regClientScript и regClientStartupScript из АПИ.
avatar
Да я понмаю, что дело не в evo. Дело в js, на форумах других ни одного ответа нет, да и поисковик не помог. Решил написать здесь, здесь хватает умных людей разбирающихся в javascript
avatar
что и раздражает, если честно. Ответить на вопрос про MODX — не вопрос. Но разбираться конкретно с вашей задачей… ну а зачем Вы тогда?)Без обид.
И ремарка к первому комменту: я не на вас конкретно злюсь, а на коллективных вас.
мы стараемся отвечать на вопросы, но через каждый второй видя подобный… начинает задалбливать. ничего личного!
avatar
Человек просто спросил, как ему перезапустить скрипт magic360.js после подгрузки элементов по ajax. Ответ видимо тут

The plugin doesn't allow a way to initialize new 360 viewers by JS. The only way it can work is by parsing elements with a class Magic360 on DOM ready. This means that you can't e.g. provide settings by JS for a single instance. You need to provide all options globally for all instances. Also, this means that if you're using AJAX you can't use this plugin, as the plugin doesn't re-parse the DOM after a XMLHttpRequest was done. Also, this means that you need to pass an instance «id» on every method call, which brings an incredible overhead (you would also create an id attribute on every viewer HTML root element)
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.