Повышение имеет большой диапазон интеллектуальные указатели , которые реализуют подсчет ссылок или удаляют на объеме выход или навязчивый подсчет ссылок. Они доказали достаточно для наших потребностей. Большое плюс - то, что это все бесплатно, открытый исходный код, шаблонный C++. потому что это - подсчет ссылок, в большинстве случаев это очень детерминировано, когда объект уничтожается.
Да. То, что вы ищете, называется История браузера AJAX .
Существует несколько открытых реализаций, таких как RSH , а также плагины / модули для таких фреймворков, как jQuery и YUI .
Вам необходимо добавить привязку к URL-адресу при каждом изменении
www.site.com/page.html#anchor1
Это позволит браузеру поддерживать страницы в своей истории. Я реализовал его на своем текущем сайте после изучения этого руководства, которое отлично работает и дает вам хорошее представление о том, что вам нужно делать:
http://yensdesign.com/2008/11/creating-ajax-websites-based -on-anchor-navigation /
Ваш пример в комментариях не будет работать, потому что он работает следующим образом:
Страница загружена
Страница изменена, добавить привязку к URL-адресу (кнопка «Назад» возвращает вас обратно к 1)
Страница изменена, Якорь изменена (кнопка "Назад" возвращает вас на 2)
Страница изменена, Якорь изменена (кнопка "Назад" возвращает вас на 3)
.... и так далее и тому подобное на ..
Если это так, то с точки зрения UX это звучит довольно плохо. Почему бы вам не разработать кнопку «назад» в своем приложении и не использовать дизайн, чтобы сделать очевидным для пользователя, что они должны использовать кнопку «Назад» в вашем приложении вместо браузера.
Под «использовать дизайн» я подразумеваю сделать ваше приложение выглядит как самодостаточный пользовательский интерфейс внутри браузера, поэтому взгляд пользователя остается на вашей странице, а не в Chrome браузера, когда они ищут элементы управления для взаимодействия с вашим приложением.
Вы можете сделать это с помощью якорей, как это делается во многих флеш-приложениях или других приложениях, которые не переходят со страницы на страницу. Facebook довольно широко использует эту технику. Каждый раз, когда пользователь нажимает на ссылку, которая должна войти в его историю, меняйте привязку на странице.
Скажем, моя ссылка на домашнюю страницу:
http://www.mysite.com/#homepage
Для ссылки, которая работает с вашей магией javascript, сделайте следующее:
<a href="#otherpage" onclick="javasriptMagic()">My Other Page</a>
] Это отправит пользователя на http://www.mysite.com/#otherpage , где при нажатии кнопки «Назад» он вернется на http://www.mysite.com/#homepage . Затем вам просто нужно прочитать анкеры с
window.location.hash
, чтобы определить, на какой странице вы должны находиться.