Foros del Web » Programando para Internet » Javascript »

[SOLUCIONADO] Actualizar secciones

Estas en el tema de Actualizar secciones en el foro de Javascript en Foros del Web. Uso una aplicación llamada Anki (que es para estudiar mediante el uso de tarjetas) y la misma admite el uso de html, css y javascript ...
  #1 (permalink)  
Antiguo 18/10/2017, 09:07
Avatar de Pip
Pip
 
Fecha de Ingreso: noviembre-2003
Ubicación: Málaga
Mensajes: 280
Antigüedad: 20 años, 5 meses
Puntos: 0
Actualizar secciones

Uso una aplicación llamada Anki (que es para estudiar mediante el uso de tarjetas) y la misma admite el uso de html, css y javascript (aunque con algunas restricciones que ahora veréis).

El contenido de las tarjetas lo estoy copiando directamente de la web de la RAE, he de hacerlo así porque Anki me permite mantener el formato como los captions, los enlaces, colores, etc. El problema es que el código html interno que genera es una basura, aunque la eficiencia a mí me da igual, el problema es que (y esto lo sé después de horas y horas probando hasta dar con el error) a causa del uso que hace de " " el contenido no se puede ajustar a la tarjeta/tabla/página, porque precisamente esa sentencia,   lo que le dice es eso, que no rompa la línea. Con cambiar los "&nbsps;" por " " todo estaría solucionado. El problema es que eso no se puede hacer por CSS y con javascript no sé hacerlo porque Anki tiene algunas restricciones en cuanto a métodos o funciones (ya sabes, no soy muy entendido).

En la aplicación (Anki), que se puede trabajar con una especie de vista previa, se ve algo así:



Como se ve en la imagen, el texto se sale del tamaño máximo de la "ventana" o tabla. Ya probé a quitarle manualmente los   añadiendo en su lugar " " y funciona perfectamente.

Arriba a la izquierda se puede añadir html y el resultado se ve arriba a la derecha, abajo a la izquierda igual respecto a abajo a la derecha y lo de en medio a la izquierda es sencillamente la "hoja de estilos". Lo más especial que hay es que poner {{Anverso}} equivale a todo un código html. En concreto en este ejemplo, anverso es equivalente a lo que hay en este archivo. Inicialmente en el código vemos {{Anverso}} o cualquier otra palabra entre llaves y, cuando Anki crea el html o tarjeta para mostrarlo como vista previa, entonces sustituye esa palabra por el contenido

Y las restricciones que tiene Anki con javascript son las que pone aquí https://apps.ankiweb.net/docs/manual.es.html#javascript Pocas pero que joden mucho porque no deja hacer un document.write, que es lo que quería hacer, meter todo ese texto en una variable (que tampoco sé del todo como, ya que el texto tiene muchas comillas dobles por todas partes) y procesarlo con funciones que ya he encontrado por internet que usa la gente para cambiar los   por " ". Sin embargo, no me sale nada con eso.

He buscado en reddit lo que hay y alguna gente usa algo así para modificar el texto por secciones (o eso dicen):

<span id="s1">{{Front}}</span>
<span id="s2"><span>
<script>
var content = document.getElementById("s1").innerHTML;
document.getElementById("s2").innerHTML = content;
</script>

Pero al hacer eso, me sale el contenido de {{Anverso}} (que ahí se llama {{Front}} por duplicado.
__________________
por Pip
  #2 (permalink)  
Antiguo 18/10/2017, 09:10
Avatar de Pip
Pip
 
Fecha de Ingreso: noviembre-2003
Ubicación: Málaga
Mensajes: 280
Antigüedad: 20 años, 5 meses
Puntos: 0
Respuesta: Actualizar secciones

Solucioné el tema con la ayuda de amigos que trabajan y entienden mucho más que yo de programación (que no sé prácticamente nada). Supe la solución antes de publicar el anterior mensaje pero quería publicarlo por si algún día pudiera ayudar a alguien.

La solución era tan sencilla como esto:

Cita:
<span id="s1">{{Anverso}}</span>
<script>
var content = document.getElementById("s1").innerHTML;
document.getElementById("s1").innerHTML = content.replace(/&nbsp;/g," ");
</script>
__________________
por Pip

Etiquetas: form, funcion, html, java, secciones
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:14.