Нужно передать php-скрипту значение window.location.hash до непосредственного вывода страницы через echo (это умеет делать только JavaScript). Пробовал делать так: [js] $(document).ready(function() { $.ajax({ type: "POST", cache: false, url: "inex.php", data: "hash="+document.location.hash, success: function($content){ $("#content").html($content); } }); } ); /* END OF document.ready */[/js] Но страница при этом явно грузится два раза. А если я при этом ещё и аджаксю какие-то действия на странице по событию .click например, то по клику происходит 3 загрузки страницы и ужасные лаги. Собссна, как отсылать этот POST-запрос документу только один раз - при его загрузке? Может я нублю, но $(document).ready чот не прокатывает.
если я правильно понял, то у вас есть набор каких-то ссылок с якорями #1, #2, #3. И вы хотите при клике на них подгрузить нужный контент? или не правильно понял?
Нет, мне нужно чтобы при обращении к index.php, первым делом из адресной строки вытаскивался hash и записывался в переменную. И дальше php-скрипт действовал относительно этой переменной - например, выдавал пользователю галерею если хэш равен #gallery или форум, если хэш равен #forum. Этакая навигация на AJAX, с возможностью обмена ссылками. Вот только не пойму по какому действию значение хэша можно вытащить - $(document).ready и $(document).load чего-то не срабатывают. Или я чего-то совсем не догоняю. =\
В $content случаем не полную страницу отдаешь? Если там есть жававскипты, то они будут выполняться. А вообще гадать на куске кода и путанном описании как-то даже неприлично.
Короче я сделал так в начале php-скрипта: PHP: <?php if (!$_POST['ajaxed']) { echo ' <script type="text/javascript"> $.ajax({ type: "POST", cache: false, url: "index.php", data: "ajaxed=1&sortby=th"+document.location.hash.slice(1), success: function($content){ $("#content").html($content); } }); </script>'; exit; } ?> Повесил якорь ajaxed, который сигналит проаджаксилась ли страница - предохранитель от зацикливания, когда страница аджаксит саму себя. В итоге, при загрузке страницы я имею значение хэша, записанное в $_POST - прямо как во вконтакте.)) Держать JS в php-скриптах конечно же не красиво, но другого способа я не нашёл. Можно разве что попытаться как то дёргать значения $_POST через JS, тогда от if-else средствами php можно будет избавиться. Покажу как оно работает, как запущу на хостинге, ежели кому интересно.