Благодаря нововведениям HTML5 появилась возможность работать с объектом history и менять урл текущей страницы без её непосредственного обновления.
Не секрет, что компоненты, работающие в режиме AJAX, при переходе по страницам меняют якорь, то есть получается что-то типа и т.п. Конечно внешне смотрится это не очень хорошо. К тому же при обновлении страницы в браузере выполняется сам компонент, после чего аяксом загружается соответствующий контент, исходя из установленного в урле хеша.
Путем простой доработки файла /bitrix/js/main/ajax.js (в общей сложности добавлено ~30 строк) мы получаем ПРАВИЛЬНЫЕ урлы для аякс-компонентов. То есть урл вида
превращается в совсем правильный
Естественно сохраняется история переходов и обратная совместимость со старыми браузерами.
Скачать файл можно тут и положить вместо /bitrix/js/main/ajax.js.
ВАЖНО: Предоставленное решение является теоретическим (экспериментальным). Создано с целью обратить внимание разработчиков на эту возможность HTML5 (возможно команда 1С-Битрикс внедрит эту "фичу" в ближайших обновлениях продукта)
Не секрет, что компоненты, работающие в режиме AJAX, при переходе по страницам меняют якорь, то есть получается что-то типа и т.п. Конечно внешне смотрится это не очень хорошо. К тому же при обновлении страницы в браузере выполняется сам компонент, после чего аяксом загружается соответствующий контент, исходя из установленного в урле хеша.
Путем простой доработки файла /bitrix/js/main/ajax.js (в общей сложности добавлено ~30 строк) мы получаем ПРАВИЛЬНЫЕ урлы для аякс-компонентов. То есть урл вида
http://domain.ru/news/#view/news/?PAGEN_1=2 |
http://domain.ru/news/?PAGEN_1=2 |
Скачать файл можно тут и положить вместо /bitrix/js/main/ajax.js.
ВАЖНО: Предоставленное решение является теоретическим (экспериментальным). Создано с целью обратить внимание разработчиков на эту возможность HTML5 (возможно команда 1С-Битрикс внедрит эту "фичу" в ближайших обновлениях продукта)