-
-
Notifications
You must be signed in to change notification settings - Fork 572
Saving State
You can save two types of states:
- You can save state of the whole terminal including prompt, cursor position, lines on terminal or your interpreter. to save state you can use function
var view = term.export_view();
it will return object that can be use to restore the state of the terminal:
term.import_view(view);
NOTE: The object that is returned by export_view will not work with JSON.stringify unless you have a way to serialize functions. But it will work with few limitations if you strip out functions.
- Another type of state is history of commands you type in single session that is saved in url hash (text after # that is used to jump to location with same id in html).
To start saving commands in hash you can invoke function:
term.history_state(true);
Saving to hash is controlled by option historyState so you can set it to true but be careful because there is limit of URL length.
You can also add command to hash using
term.save_state('foo');
If you refresh the browser and have option execHash set to true it will execute all commands in order. And you can share the link with commands to your app.
But there is limitation different browsers have different max URL limit, so best is only save few commands. Setting option historyState: true
. Also can make your app break because of this limit. So best is to have some command that toggle saving in hash using term.history_state
function.
Library for Web-Based Terminal in JavaScript, (jQuery Terminal: git repo)
Copyright (c) 2011-2023 Jakub T. Jankiewicz