What is this?
Cjchangeurl is a jQuery plugin provide a simply way to handle ajax page load and history back.
What is theory?
HTML5 provide a history API to handle history on the browser which can directly change the URL of the page but not reload the page, this let you call a ajax page and change the correct access URL where user can easy to bookmark the page. Pushstate is the core function of this API, you can refer to other detail infomations about pushstate by searching on google. Cjchangeurl make use of pushstate, you can add a ajax callback to change the action of a "<a>" instead of the page direct function. In HTML5 supported browser, it will change the url directly as the "href" value of the "<a>", otherwise, in IE, it will change the hash to #!/href which will direct to the href url when reload the bokkmark.
Preview
You can find the URL change of the this page when you click in from the plugin homepage in firefox, chrome and IE.