Systems and techniques to preserve state information in a client-server
environment. In general, in one implementation, the technique includes:
storing, in a shared memory of a client, a scripting object that retains
state information for an original document, and cloning the stored
scripting object to a newly loaded document. Storing the scripting object
can involve copying a scripting object reference to the shared memory to
cause retention of the scripting object by the client during document
loading. Cloning the stored scripting object to the newly loaded document
can be performed recursively, and can involve creating a new scripting
object in the new document and copying data from the stored scripting
object to the new scripting object. The state information retained in the
scripting object can be navigation information associated with the loaded
document, and the loaded document can be a portal page in a portal
system.