Reputation: 427
I am using chessboard.js script.
But I am facing a problem. I want to save a current game without end, save the current position and next time to use saved current position.
var cfg = {
position: 'r1bqkbnr/pppp1ppp/2n5/1B2p3/4P3/5N2/PPPP1PPP/RNBQK2R'
};
var board = new ChessBoard('board', cfg);
Current position is showed correctly. But when I move, it goes to "start" state.
Upvotes: 2
Views: 1054
Reputation: 2168
You can return the state of the board using
var saved_positions = ChessBoard.objToFen(board.position())
...or if you're using the chess.js library for managing the game you can simply use
var saved_positions = game.fen()
both will return a string containing the position of every piece on the board.
Then to load the saved board position with animations you can use:
board.position(saved_position, true);
or to instantly set the positions
board.position(saved_position, false);
Enjoy.
Upvotes: 1
Reputation: 3533
For storing in browser you could use cookies or localstorage.
Alternatively, you could send state to server and later read it using AJAX.
EDIT:
Looks like you have mistake in script. Instead of
new ChessBoard('board', cfg);
you should do
new ChessBoard('board', cfg.position);
Docs: http://chessboardjs.com/examples#1003
Upvotes: 1