Se pierden contenidos de variables en javascript


([N1] aztecmexico) #1

Pues eso, estoy probando con la 22 y si el contenido de la variable donde genero el contenido html es grande al momento de usar el javascript para obtener el contenido de la variable y mostrarlo, esta se pierde.

Hasta la versión 20 funciona perfectamente, en la 22 ya no, el código generado esta sin errores.

El procedimiento que sigo es el publicado en estos foros por Paco Satué,

  1. Genero el contenido de la variable VL_HTML
  2. Ejecuto el proceso javascript siguiente:
var oForm = theRoot.dataView()   // formulario theRoot.dataView
var oVisorHTML = oForm.control("CTRL_VISOR_HTML")    // Visor HTML
// Fijamos el código HTML del control
var VL_HTML = theRoot.varToString("VL_HTML")
//oVisorHTML.setSourceCode(theRoot.varToString("VL_HTML"),theRoot.varToString("DIR_DEF"))
alert("variable javascript" + VL_HTML)
alert("variable formulario" + theRoot.varToString("VL_HTML"))
oVisorHTML.setSourceCode(VL_HTML, theRoot.varToString("DIR_DEF"))
//alert(oVisorHTML)
//Le indicamos que seremos nosotros quienes controlaremos las pulsaciones de los links
oVisorHTML.setLinkDelegationPolicy(VCWebView.DelegateAllLinks);

Y al momento de hacer el setSourcecode el codigo o contenido de la variable se pierde.
En la barra de estado solo aparece el mensaje Error al cargar: sin nada más, y en vAdmin no hay ningún mensaje.

Esto sucede cuando el html tienen más de 10 mil líneas (apróximadamente), en html más pequeños se carga perfectamente.

Les ha sucedido?, alguna idea de la solución? en la versión 20 (me brinque la 21) funciona perfectamente aun con htmls gigantescos.


([N3] pacosatu) #2

Hola aztecmexico.

Tienes 2 opciones:

  • Envíame una prueba de ese html de 10.000 líneas y hago pruebas. Quizás sea cierto que haya problemas con el paso de variables entre el proceso de Velneo y el del Visor HTML.

  • En lugar de pasar la variable con setSourceCode, guarda el contenido HTML en un fichero de disco temporal (con extensión html) y lo lees con el Visor de la forma habitual.

Saludos
Paco Satué


([N1] tcvsi) #3

Buenos días:

Estoy revisando las incidencias que se han detectado en el uso de la 22.1 para tenerlas en cuenta y comprobar en nuestros desarrollos.
Habéis comprobado que haya un error en el paso de variables hacia el visor HTML?

Gracias


([N3] pacosatu) #4

Hola Tomás.

El contenido HTML que pretendía cargar Martin en el Visor HTML era muy grande, de más de 25.000 líneas.
Parece ser que el nuevo Visor Chromium no acepta estos tamaños, aunque todavía no conozco el veredicto de Soporte.

De todas formas, rara vez necesitarás HTML tan grandes y en todo caso siempre existe la alternativa de cargar de forma asíncrona contenido extra mediante XmlHttpRequest o leyendo directamente de disco.

Saludos
Paco Satué


([N1] tcvsi) #5

Gracias Paco !!!


([N1] aztecmexico) #6

Hola Tomás,

Solo agregar a lo que comenta paco, el problema es al hacer el setSourceCode, si el contenido del html o variable que le pretendas pasar es muy grande se va a perder el contenido en la variable javascript asignada por el setSourceCode.

Como tal, en V7 no he tenido problema, sus variables si que aceptan casi cualquier tamaño de información, hasta la versión 20 he tenido htmls (sin optimizar, claro) de más de 300 mil líneas y funcionaban sin problema, si, un pequeño retraso pero funcionaban y siguen haciendolo.

Es el setSourceCode el del problema.

Saludos.