Using the library FullAjax can face the fact that other scripts (eg LightBox) refuse to work or its not working correctly. The reason these scripts from which refuse to work is very simple – they are not quite designed to works with AJAX.
How can fix it I try describe in a few lines below …
The main reason (but not only) in which some scripts refuse to work together with AJAX – is that they do not “see” when AJAX page loaded and ready for use. To fix this need to tell them yourself when the page is “ready”.
For this, after when the AJAX page loading finished need tell for scripts that page updated.
For this can use “load” event from FullAJAX (example for mootools fireEvent()):
FLAX.Html.onall('load', function(options){ window.fireEvent('domready'); }); |
or use callback function:
function doSomethingAfterFAjxPagLoad (){ window.fireEvent('domready'); }; |
To this function is triggered after when the AJAX page loading finished, in the basic configuration the FullAjax library need add option onload:doSomethingAfterFAjxPagLoad .
Example:
FLAX.Filter.add({url:'/', id:fullAjaxId, onload:doSomethingAfterFAjxPagLoad}); .... function doSomethingAfterFAjxPagLoad (){ /* fix for mootools 'domready', uncomment if need*/ /* window.fireEvent('domready'); */ }; |
When using window.fireEvent(‘domready’); you should be careful.
Firstly it helps only if the script really does not “see” when the page is “ready”.
Second, by joint use with other scripts that work with AJAX good – it can lead to additional undesirable errors such as double execution of the script. Therefore this function in the plugin by default commented out.
In some cases, you should use window.fireEvent(‘load’); – it all depends on the script that “refuses” to work.
If script (eg LightBox) need only on a certain page then the function from above to better execute on only this page, not on each page. This will prevent any additional errors.
Example for the page “Gallery” ( mysite.com/galery ):
1 2 3 | if(location.toString().indexOf('/galery') != -1){ window.fireEvent('domready'); } |
To be continued, maybe … :)

Привіт Федір! Чудовий плагін, гордий що ти з України. В мене при використанні плагіна виникли проблеми з темплейтами зробленими в Artisteer. Головна проблема – меню, яке не оновлюється, підскажи будь-ласка як правильно необхідно вбудовувати код в темплейт.
Привіт, з Artisteer-ом проблема так як він “городиться свій город”. Пробуй знайти місце де він виводить компонент в шаблоні, і помісти це місце в блок. Але не факт, що все буде працювати ;). Щось типу:
на рахунок меню, що саме не оновлюється?
не визначається поточний активний елемент? чи щось інше
Так, не визначається поточний активний елемент меню.
якщо з налаштуванням “Меню CSS Class та/або ID” все гаразд, тоді потрібно дивитись в живу, так важко щось відповісти
Якщо не складно подивись будь-ласка.
для Artister спробуй відключи визначення поточного меню в налаштуваннях, та в розширені
налаштування додай:
Спасибо за плагин но куча вопросов и проблем у меня возникло. 1) СВ не хочет работать не загружает дизайн самих профилей. 2) Не как не выходит сделать обновления модулей. Шаблон сделан на аристери. Если конкретно то не получается сделать модули в разных местах то есть на главной показывается а на форуме к примеру нет. 3) опять же модули – модуль последних сообщений форума кунена – когда нажимаешь на ссылку посмотреть тему – дублируется полностью сайт и накладывается друг на друга. 4) И подскажите Фёдор как отключить определенный модуль от воздействия аякс – только не позицию а модуль – спасибо
И еще забыл написать так же во многих случаях дублируется сайт, например кнопка выхода с сайта в модули. Ваш профиль и тп и тд
если плохо знакоми з javascript то для форума лутше отключить fullajax, так как там свои заморочки с формами, редактором, своим аяксом …
на счет СВ, если мне не изменяет память, там просто не работают таби .. нужна повторная инициализация, после загрузки через аякс…
в артистер может бить следуующая проблема: для обновления позиций нужно чтоб блок всегда бил загружен … если, к примеру на домашней странице нет модуля а на остальних есть, то блок все равно должен бить, на домашней он будет пустой, на остальних заполнен через аякс …
по 4) пункту, если имеется ввиду игнорировать ссылки в блоке, то можно попробовать фильтрами что в fullajax … посмотрите форум может чего интересного найдете ;) … правда он лежит через раз :(
Я вас понял – форум давно отключил, дело в модуле то есть этот модуль выводится на всех страницах сайта – но отображает последние темы форумы – на самом форуме не отображается модуль. но выводит ссылки с форума – и я думаю как исключить сам модуль из использования аякс
для блокировки ссилок в блоке можно как то так:
только нужно знать сколько parentNode нужно :)
на счет ссылки, если имеется ввиду #ajx то в старых браузерах никак, только сменить текст можно, смотрите в настройка … для новых браузеров пробуйте последнюю версию плагина
Anyone gotten this to work with Jomsocial? Fails to load calendar on some pages with error: Calendar.setup:
Nothing to setup (no fields found). Please check your code
it problem of the calendar initialization, but it not possible fix without hacking of the calendar script
Thought this may be the case. Tried hacking it but whatever I do seems to keep other scripts from working. Would be interested in any suggestions. Great work!
if I right remember, in the Calendar script need remove alert() that show this error, and initialize Calendar again after page loaded via AJAX
Тобто, спочатку потрібно підключити цю функцію в FULLAJAX плагіні, а потім визивати через модуль, який не працює?
ні, не зовсім :)
в плагіні потрібно розкоментувати:
якщо нічого не запрацює то замість
window.fireEvent('domready');потрібно вписати код ініціалізації для модуля/скрипту який не працюєНа жаль, не працює, а який вигляд буде мати код інціалізації??
все залежить від фантазії розробника того скрипту, що не працює :)
якщо не знайомий з JavaScript то тут буде складно …
можеш спробувати подивитись в браузері код сторінки на якій модуль працює (завантаженої без AJAX), там має буди щось ;)
Hello again,
I am the guy having problems running fullajax along the gallery module “showplus”, since the latter won’t start with fullajax enabled.
I’ve put
window.fireEvent('showplus');before
});but it still doesn’t work.
I’d really appreciate if you could look into this. Both are very nice plug-ins, which I’d love to use.
Thanks in advance,
Dan
no, it`s wrong ;)
need code for initialization instead
if it not works …
for “showplus” try: