Estoy jugando con real3d-flipbook para incluir un nuevo botón donde el usuario puede decidir si quiere ver el pdf como 2 páginas como un libro o una sola página.
Me las arreglé para hacer el código, pero cuando cambio singlePageMode al hacer clic en el botón, se llama a un método en particular varias veces, lo que resulta en un error de rango no capturado Uncaught RangeError: Maximum call stack size exceeded Aquí es donde estoy cambiando singlePageMode de flipbook.min.js
togglePage:function(){ var e=this.options; e.singlePageMode=!e.singlePageMode; this.toggleIcon(this.btnPage,e.singlePageMode) }, y esta es la función en flipbook.book3.min.js que se llama varias veces cuando cambio el singlePageMode:
FLIPBOOK.Book3.prototype.updateBookPosition=function(){ if(this.options.singlePageMode) return this.setWrapperW(this.pageWidth),this.$wrapper.width(this.pageWidth),this.scroll&&this.scroll.refresh(),this.view=1,void this.focusRight();1==this.view?this.setWrapperW(this.pageWidth):this.setWrapperW(2*this.pageWidth),this.scroll&&this.scroll.refresh(),2==this.view?this.isCover()?this.focusRight():this.isBackCover()&&this.options.cover?this.focusLeft():this.focusBoth():1==this.view&&(this.isCover()?this.focusRight():this.isBackCover()&&this.focusLeft())},He intentado recrear el libro de esta manera, lo que da como resultado otro libro debajo del anterior sin tener idea de cómo eliminar el primero:
togglePage:function(){ var e=this.options; e.singlePageMode=!e.singlePageMode; this.loadScript(FLIPBOOK.flipbookBook3Src,this.createBook), console.log(this); this.toggleIcon(this.btnPage,e.singlePageMode) },Esto elimina el problema de llamar a updateBookPosition varias veces pero muestra 2 libros: el original sobre el nuevo. ¿Alguna idea de cómo elimino el anterior o lo actualizo sin problemas?