# como evitar el continuo reload en  el visor html?

**URL:** <https://foros.velneo.com/t/como-evitar-el-continuo-reload-en-el-visor-html/7791>\
**Category:** Velneo\
**Created:** [13 Febrero, 2015 17:31 UTC](https://foros.velneo.com/t/como-evitar-el-continuo-reload-en-el-visor-html/7791 "2015-02-13T17:31:28Z")\
**Posts on this page:** 16\
**Page:** 1

<div class="post-metadata">

**Author:** ![ereitmann](https://avatars.discourse-cdn.com/v4/letter/e/8491ac/32.png) [@ereitmann](https://foros.velneo.com/u/ereitmann)\
**Post date:** [13 Febrero, 2015 17:31 UTC](https://foros.velneo.com/t/como-evitar-el-continuo-reload-en-el-visor-html/7791/1 "2015-02-13T17:31:28Z")

</div>

Hola a todos, alguien sabe o tiene alguna solución para evitar el continuo reload que hace el objeto visor HTML en los formularios? esto ocurre desde la versión 7.15 creo y no se ha solucionado?

---

<div class="post-metadata">

**Author:** ![pacosatu](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/pacosatu/32/5131_2.png) [@pacosatu](https://foros.velneo.com/u/pacosatu)\
**Post date:** [13 Febrero, 2015 18:32 UTC](https://foros.velneo.com/t/como-evitar-el-continuo-reload-en-el-visor-html/7791/2 "2015-02-13T18:32:21Z")

</div>

Hola ereitmann.

Velneo tiene un mecanismo de refresco, a veces muy efectivo, pero en la mayoría de las situaciones es un sistema endemoniado que invalida muchos de los diseños que henos hecho en papel y que llevados a la práctica no funcionan bien.

Entre otros tenemos a las Rejillas, Casilleros (sobre todo en Cloud), los Timers y el Visor HTML.

Para el Visor HTML existe la siguiente solución (un poco ñapa pero es lo que hay):

- Fija el contenido a HTML
- Usa la siguiente función de la clase VCWebView  
oVisorHTML.setSourceCode(cHTML,cPathBase)  
Siendo cHTML el código HTML que quieras mostrar y cPathBase la ruta base para los paths relativos

De esta forma el Visor HTML se mantiene ‘quietecito’.

Saludos  
Paco Satué

---

<div class="post-metadata">

**Author:** ![ereitmann](https://avatars.discourse-cdn.com/v4/letter/e/8491ac/32.png) [@ereitmann](https://foros.velneo.com/u/ereitmann)\
**Post date:** [13 Febrero, 2015 20:31 UTC](https://foros.velneo.com/t/como-evitar-el-continuo-reload-en-el-visor-html/7791/3 "2015-02-13T20:31:39Z")

</div>

Hola Paco , gracias por responder y perdona si abuso de ti., es que de javasript no se nada, en mi caso el visor html lo estoy utilizando para mostrar un gráfico de hightchart, el visor se alimenta con una variable por lo que en las propiedades el “contenido” es esa variable. y la otra propiedad “Opciones” esta fijada en contenido=texto html… como podría hacer para evitar ese continuo reload?

Gracias

---

<div class="post-metadata">

**Author:** ![pacosatu](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/pacosatu/32/5131_2.png) [@pacosatu](https://foros.velneo.com/u/pacosatu)\
**Post date:** [13 Febrero, 2015 22:26 UTC](https://foros.velneo.com/t/como-evitar-el-continuo-reload-en-el-visor-html/7791/4 "2015-02-13T22:26:24Z")

</div>

Hola ereitmann.

No es cuestión de saber JavaScript, que lo puedes aprender en un fin de semana con un buen manual de referencia, ya que solo necesitas un nivel básico de programación funcional.  
Lo que sí es imprescindible es conocer a fondo el API de Velneo, aunque sea una labor muy tediosa por la falta desesperante de documentación de calidad.

Tienes que crear un manejador JavaScript en el formulario que contiene el Visor HTML.

- Deja la propiedad **Contenido del Visor en blanco** (muy importante) y la propiedad Opciones a Contenido=Texto HTML

El código JavaScript es así de sencillo:

```auto

var oForm = theRoot.dataView() // formulario
var oVisorHTML = oForm.control("CTR_VISOR_HTML") // Visor HTML
// Fijamos el código HTML del control
oVisorHTML.setSourceCode(theRoot.varToString("CHTML"))

```

Saludos  
Paco Satué

---

<div class="post-metadata">

**Author:** ![ereitmann](https://avatars.discourse-cdn.com/v4/letter/e/8491ac/32.png) [@ereitmann](https://foros.velneo.com/u/ereitmann)\
**Post date:** [14 Febrero, 2015 03:00 UTC](https://foros.velneo.com/t/como-evitar-el-continuo-reload-en-el-visor-html/7791/5 "2015-02-14T03:00:47Z")

</div>

Gracias Paco y perdona nuevamente, como hago referencia a la variable que tiene el codigo html que alimentaria el visor html? en mi caso la variable local al formulario que contiene al objeto visor html se llama HTML\_CAB, seria lo que esta entre comillas en la ultima línea?

---

<div class="post-metadata">

**Author:** ![pacosatu](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/pacosatu/32/5131_2.png) [@pacosatu](https://foros.velneo.com/u/pacosatu)\
**Post date:** [14 Febrero, 2015 09:49 UTC](https://foros.velneo.com/t/como-evitar-el-continuo-reload-en-el-visor-html/7791/6 "2015-02-14T09:49:45Z")

</div>

Hola ereitmann.

Exacto,  
oVisorHTML.setSourceCode(theRoot.varToString(“HTML\_CAB”))

Saludos  
Paco Satué

---

<div class="post-metadata">

**Author:** ![ereitmann](https://avatars.discourse-cdn.com/v4/letter/e/8491ac/32.png) [@ereitmann](https://foros.velneo.com/u/ereitmann)\
**Post date:** [14 Febrero, 2015 15:21 UTC](https://foros.velneo.com/t/como-evitar-el-continuo-reload-en-el-visor-html/7791/7 "2015-02-14T15:21:36Z")

</div>

Gracias Paco, pero evidentemente me faltan algunos conocimientos mas ya que en el contenido de la variable “HTML\_CAB” hay concatenaciones de texto, pero también de contenidos de otras variables y variables del sistema que me parece que hay que llamarlos dentro de java script con otra sintaxis (la de api de javascript supongo)

te paso para que veas el contenido de esa variable que da como resultado un grafico:

`"\<html\>  
\<head\>  
\<script type=\ctext/javascript\c src=\c" +sysCacheClientPath+ "jquery-1.9.1.min.js\c\>\</script\>

\<script type=\ctext/javascript\c src=\c" + sysCacheClientPath + “highcharts.js\c\>\</script\>  
\<script type=\ctext/javascript\c src=\c” + sysCacheClientPath + “exporting.js\c\>\</script\>  
\<script type=\ctext/javascript\c src=\c” + sysCacheClientPath +“gray.js\c\>\</script\>  
\<div id=‘container’ style=‘min-width: 650px; height: 550px; margin: 0 auto’\>\</div\>  
\</head\>  
\<script type=‘text/javascript’\>  
$(function () {  
$(’#container’).highcharts({  
chart: {  
type: ‘line’,  
zoomType: ‘xy’  
},  
title: {  
text: ‘Fuerza/Tiempo’  
},  
xAxis: {  
categories: [”+CATEGORIAS+"]  
},  
yAxis: {  
title: {  
text: ‘Fuerza’  
}  
},  
series: [{  
name: ‘Kg’,  
data: ["+SER+"]  
}]  
});  
});"+"

```
	&lt;/script&gt; 
	
&lt;/head&gt; 
&lt;body&gt; 
	
	&lt;!-- 3. Add the container --&gt; 
	&lt;div id=container style=width: 100%; height: 100%; margin: 0 auto&gt;&lt;/div&gt; 
	
			
&lt;/body&gt; 

```

\</html\>"

---

<div class="post-metadata">

**Author:** ![pacosatu](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/pacosatu/32/5131_2.png) [@pacosatu](https://foros.velneo.com/u/pacosatu)\
**Post date:** [15 Febrero, 2015 23:27 UTC](https://foros.velneo.com/t/como-evitar-el-continuo-reload-en-el-visor-html/7791/8 "2015-02-15T23:27:48Z")

</div>

Hola ereitmann.

La variable HTML\_CAB en la expresión theRoot.varToString(“HTML\_CAB”) debe contener todo el código HTML para dibujar el gráfico.  
Antes has debido componer todo el código HTML en HTML\_CAB mediante una fórmula Velneo, es decir, no necesitas para nada el JavaScript.

Saludos  
Paco Satué

---

<div class="post-metadata">

**Author:** ![ereitmann](https://avatars.discourse-cdn.com/v4/letter/e/8491ac/32.png) [@ereitmann](https://foros.velneo.com/u/ereitmann)\
**Post date:** [16 Febrero, 2015 05:58 UTC](https://foros.velneo.com/t/como-evitar-el-continuo-reload-en-el-visor-html/7791/9 "2015-02-16T05:58:45Z")

</div>

Hola Seh, el código he comprobado que funciona, tal cual lo dices, si lo disparo desde un botón que dispare el evento en el formulario previa carga de la variable, funciona perfecto y se pinta el grafico  
ahora si forma parte de un evento de interfaz pos inicializado y en la ultima sentencia (luego de alimentar la variable con los datos) pongo interfaz ejecutar manejador de evento (el que dispara todo el codigo javasript) allí no pinta el grafico

gracias

---

<div class="post-metadata">

**Author:** ![ereitmann](https://avatars.discourse-cdn.com/v4/letter/e/8491ac/32.png) [@ereitmann](https://foros.velneo.com/u/ereitmann)\
**Post date:** [16 Febrero, 2015 06:10 UTC](https://foros.velneo.com/t/como-evitar-el-continuo-reload-en-el-visor-html/7791/10 "2015-02-16T06:10:14Z")

</div>

He comprobado que si al manejador de evento de javasript que hice, si lo llamo desde otro manejador de evento, por ejemplo hice un manejador de evento en velneo cuya única instrucción es “interfaz ejecutar manejador de evento” (el de codigojava script) allí no funciona, pero si solo es llamado desde un boton el evento original de javasript si funciona, sera otra mas de VELNEO?

---

<div class="post-metadata">

**Author:** ![vgegeo](https://avatars.discourse-cdn.com/v4/letter/v/278dde/32.png) [@vgegeo](https://foros.velneo.com/u/vgegeo)\
**Post date:** [23 Abril, 2016 10:19 UTC](https://foros.velneo.com/t/como-evitar-el-continuo-reload-en-el-visor-html/7791/11 "2016-04-23T10:19:18Z")

</div>

Gracias por vuestro aporte.

He solucionado el problema planteado en el hilo [Enlazar Velneo con HTML](https://velneo.es/foros/topic/enlazar-velneo-con-html/page/2/#post-46790)

---

<div class="post-metadata">

**Author:** ![hgilmunoz](https://avatars.discourse-cdn.com/v4/letter/h/7ea924/32.png) [@hgilmunoz](https://foros.velneo.com/u/hgilmunoz)\
**Post date:** [19 Mayo, 2017 09:00 UTC](https://foros.velneo.com/t/como-evitar-el-continuo-reload-en-el-visor-html/7791/12 "2017-05-19T09:00:02Z")

</div>

Buenos días Paco

En su momento implementamos este código para evitar el refresco de los visores HTML, pero hemos actualizado a la versión 21 en un servidor de prueba y nos ha dejado de funcionar.  
Haciendo pruebas hemos visto que si en el visor rellenamos en contenido directamente la variable con el HTML calculado, se presenta correctamente pero no se evita el refresco.  
Creemos que el problema está relacionado con la sentencia Visor\_html.setSourceCode(codigo, “”), ¿habéis detectado algún tipo de incidencia relativo a esta instrucción o algún problema en la ejecución del visor que pueda estar relacionado?

Gracias de antemano y saludos

---

<div class="post-metadata">

**Author:** ![ereitmann](https://avatars.discourse-cdn.com/v4/letter/e/8491ac/32.png) [@ereitmann](https://foros.velneo.com/u/ereitmann)\
**Post date:** [19 Mayo, 2017 11:02 UTC](https://foros.velneo.com/t/como-evitar-el-continuo-reload-en-el-visor-html/7791/13 "2017-05-19T11:02:28Z")

</div>

por lo pronto tengo terror de instalar la 21, no le tengo confianza aún ya que el cambio de visor altera muchas de las funcionalidades que veniamos realizando con el anterior y hay que empezar nuevamente con prueba y error,

---

<div class="post-metadata">

**Author:** ![pacosatu](https://yyz1.discourse-cdn.com/flex035/user_avatar/foros.velneo.com/pacosatu/32/5131_2.png) [@pacosatu](https://foros.velneo.com/u/pacosatu)\
**Post date:** [19 Mayo, 2017 11:37 UTC](https://foros.velneo.com/t/como-evitar-el-continuo-reload-en-el-visor-html/7791/14 "2017-05-19T11:37:58Z")

</div>

Hola hgilmunoz.

La solución es sencilla.

Usa la función setSourceCode con los 2 parámetros.  
oVisorHTML.setSourceCode(cHTML, “file:///” + sysCacheClientPath)

El Path base del código Html debe estar expecificado usando un esquema válido como file:///

Aunque puede haber otros problemas que parece que están investigando en soporte.

Yo de momento no tengo incidencias en mis aplicaciones con el nueva Visor HTML.  
Mira el [hilo siguiente](https://velneo.es/foros/topic/experiencia-con-la-version-21/).

Saludos  
Paco Satué

---

<div class="post-metadata">

**Author:** ![ereitmann](https://avatars.discourse-cdn.com/v4/letter/e/8491ac/32.png) [@ereitmann](https://foros.velneo.com/u/ereitmann)\
**Post date:** [19 Mayo, 2017 12:04 UTC](https://foros.velneo.com/t/como-evitar-el-continuo-reload-en-el-visor-html/7791/15 "2017-05-19T12:04:12Z")

</div>

Bueno…El diablo nos metio en velneo…pero dios nos mandó a seh (Paco) para compensar…

---

<div class="post-metadata">

**Author:** ![hgilmunoz](https://avatars.discourse-cdn.com/v4/letter/h/7ea924/32.png) [@hgilmunoz](https://foros.velneo.com/u/hgilmunoz)\
**Post date:** [19 Mayo, 2017 15:17 UTC](https://foros.velneo.com/t/como-evitar-el-continuo-reload-en-el-visor-html/7791/16 "2017-05-19T15:17:45Z")

</div>

Con esa modificación funciona perfectamente.

Muchísimas gracias Paco por tu ayuda.
