Is it possible to only update one panel (or block) as a result of a the URL clicked elsewhere? Is it possible to only update the content in a particular panel as a result of a URL clicked elsewhere? (i.e no other pages get refreshed.)

I have created Views with context filters and would be using them in Panels and would prefer for the whole page not to have to be refreshed.

I'm particularly interested in how to retain the zoomed position of a OpenLayers map, but general advice welcome. (I would consider my OpenLayers use as being a 'side' case of my general question. I think the permalink co-ords option may help me here.)
If you want your links to stay unaffected, you need to:


Attach onclick javascript event to all links. In it, send AJAX query to server.
On server side detect when links are clicked on page supporting dynamic loading (referer is a good start). Send HTTP 204 status code to prevent full page reload. Do not avoid it by returning false from event mentioned in point 1 - if you will, address bar will not match content.
In response to ajax query, server should return what IDs are supposed to get replaced, and with what.
Javascript on page needs to accept and process data from point 3.


Little explanation: HTTP 204 from server tells the browser that http request is legit, but no data from the server is needed. Normally when you want to alter url in browser window, at least part before #, browser reloads page. This is to prevent theft page from impersonating bank page and so on. So you need server-side solution to actually allow address change without reload - target server will not impersonate itself. Or if it will, it's his right to do so.