Alimentar variable javascript con fichero en disco


([N1] aztecmexico) #1

¿Es posible alimentar una variable de javascript con el contenido de un fichero en disco directamente?

Actualmente tengo el siguiente código:

oVisorHTML.setSourceCode(theRoot.varToString("VL_HTML"),theRoot.varToString("DIR_DEF"))

Quisiera sustituir el theRoot.varToString("VL_HTML") por alguna forma directa para que tome por ejemplo el valor o contenido de un fichero grabado previamente en disco.

¿se podrá?, ¿cómo?

Gracias por sus sugerencias.


([N4] pporlanclick) #2

Buenas,

prueba el método load de VCWebView:

oVisorHTML.load(“file:///C:/temp/fichero.html”);

Un saludo

Pedro Porlán


([N3] Dataman) #3

Disculpad mi atrevimiento (soy un no-programador), creo que he tenido que hacer exactamente eso, para lo cual he utilizado scripts de vERP. La variable JavaScript ‘contenido’ carga el fichero completo. Resumiendo:

importClass(“VFile”);
importClass(“VTextFile”);

var senda = theRoot.varToString(“SND”);
var fichero = new VTextFile(senda);

if (fichero.open(VFile.OpenModeReadOnly) )
{
// Fijamos la codificación del fichero
fichero.setCodec(“UTF-8”);

// Leemos el contenido del fichero en disco
var contenido      = fichero.readAll();

([N1] aztecmexico) #4

Gracias Dataman y Pedro Porlán por sus sugerencias,

Efectivamente Pedro, con la sugerencia que me hiciste ya carga el archivo pero…

Surge un nuevo detalle, hasta la versión 20 la carga de mis archivos html (un tanto grandes por cierto) tardaba en promedio de 2 a 5 segundos, pero con el nuevo motor de chromium es exageradamente más lento, vamos, lo que antes tardaba 1 segundo ahora tarda 20, entonces me estoy llendo a más de 1 minuto en promedio.

No creo que sea problema en sí de la integración que ha hecho velneo del nuevo motor, creo, según mis pruebas, que es un problema que atañe directamente al mismo motor de chromium.

Hemos hecho las carga del fichero en disco en chromium directamente y el resultado es el mismo que en nuestra aplicación V7, tambien lo probamos directamente en google Chrome e igual, una eternidad, sin embargo, al hacer la carga en mozilla firefox, esta es inmediata, igual que en el webkit de la versión 20.

En fín, cosas que se va encontrando uno por el camino, ya me había comentado algo al respecto Paco Satué, sobre cierta ralentización en los html en chromium.

Pues de nueva cuenta gracias por sus sugerencias.

Martin


([N4] pporlanclick) #5

Buenas aztecmexico,

si dices que el fichero carga bien en Mozilla y tarda mucho en Chrome puede ser debido a cómo están distribuidos el CSS, las librerías y el código JS en la página.

Sube el fichero/s generados a un servidor web y analízalos con https://developers.google.com/speed/pagespeed/insights/ te dará seguramente alguna pista para reorganizar el HTML/JS/CSS u otras formas de mejorar la velocidad de carga/renderizado.

Un saludo

Pedro Porlán