What I want is to have links which change a part of the page , and a dynamic URL for it, where I can specify variables such like #calendar=10_2010tabview=tab2
Check this for an exact example:
CLICK HERE FOR EXACT DEMO
So here is the link format what I need:
#calendar=10_2010&tabview=tab2
I need to have variables in the links like calendar
and tabview
so I can change multiple things on a single page without realoading.
Or another format such like on http://www.wbhomes.com.au , this is exactly what I want, however the first format is good too but this is much more beautiful.
http://wbhomes.com.au/#/propertiesforsale/houseandland/quinnsbeach-waterland1
Requirements
Needs to be accessed from anywhere from example a mail, or if I just write in the url bar.
The link should be in the history, so if If I push the back or forward button the page needs to be accessed.
Page refresh needs to work too.
Some recources:
Examples:
www.facebook.com - the sidebar links on your profile page
www.wbhomes.com.au/ - 100% close to what I want
Some Tutorials:
Please help me! I've never found any solution to do this, but I don't want to use jquery or any API, or any library, I want to have a working Javascript/AJAX
and PHP
script.
For the demo linked in your question, achieving that functionality is actually really simple - as it doesn't use any AJAX at all (when you start to add AJAX to the mix, it get's more difficult - explained later). To achieve that functionality you would; upgrade your links to use hashes, then bind into the hashchange event. Unfortunately the hashchange event is not cross-browser compatible, though luckily there are many "history/remote plugins" available - our preferred one over the years has proven to be jQuery History, it's open-source, got great support and is actively developed :-).
Although, when it comes to adding AJAX functionality to the mix like such sites as Facebook, WBHomes and Balupton.com then you will start to face a whole series of seriously difficult problems! (I know as I was the lead architect for the last two sites!). Some of these problems are:
The only open-source and reliable project I know of which tries to solve all those extremely difficult problems mentioned has proven to be jQuery Ajaxy. It's effectively an extension to the jQuery History project mentioned before, providing a nice elegant high level interface to add AJAX functionality to the mix to take care of those difficult problems behind the scenes so we don't have to worry about them. It's also the chosen solution used in the last few commercial sites mentioned earlier.
Good luck, and if you have any further questions then just post a comment on this answer and I'll get to it asap :-)
Update: There is now the HTML5 History API (pushState, popState) which deprecates the HTML4 hashchange
functionality. History.js is now the sucessor to jQuery History and provides cross-browser compatibility for the HTML5 History API and an optional hashchange
fallback for HTML4 browsers. jQuery Ajaxy will be upgraded for History.js