Newsgrupos.com  

Retroceder   Newsgrupos.com > Forum > Newsgroup es.comp.* Foro > Newsgroup es.comp.infosistemas.www.paginas-web
Registrarse Preguntas Frecuentes Lista de Foreros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




Respuesta
 
LinkBack Herramientas Desplegado
  #1 (permalink)  
Antiguo 08-08-2006, 11:30:42
Jorge S. de Lis
 
Mensajes: n/a
Predeterminado Konqueror bien, Firefox mal. (asuntos de javascript)

Buenas.

Resulta que últimamente tenemos algunos problemas en el servidor de nuestra
página, y como no podemos evitar que el servidor mysql se caiga de vez en
cuando (está fuera de nuestra mano intentar solucionarlo) se nos ocurrió
hacer algo divertido cuando la BD no funciona.

Así empecé a hacer el aborto este: http://la-aventura.net/problemas.html

Intenta recrear una aventura conversacional cutre, recogiendo los eventos de
las pulsaciones de teclas con javascript. El problema viene cuando hago un
document.write(); llamado por un evento de pulsación de tecla. Borra todo
lo anterior.

¿Extraño? Sí, pero se comporta igual en Konqueror y en Firefox (no probado
en IE, Opera u otros). Así que hice lo siguiente: Por cada linea, crea un
DIV con un id único y lo que hago es cambiar su contenido.

Aún así, cada vez que quiero crear un nuevo div tengo que volver a escribir
todo lo anterior, así que lo voy acumulando en una variable
llamada "contenido".

El problema viene cuando le meto un estilo, y veo horrorizado como al hacer
el document.write(); se lo carga. Parece que no sólo se carga el contenido
del <body> ¡sino toda la página!.

Metiendo un nuevo <body> con sus estilos dentro de la variable "contenido"
hace que funcione bien en Konqueror. Sin embargo, escribirlo todo en
Firefox es TERRIBLEMENTE LENTO y una vez escrita una linea se queda
cargando algo (cursor de que está pensando) y no hace caso ya a los eventos
de pulsaciones.

¿Voy a tener que guardar todo el contenido del "head" también dentro de la
variable contenido? ¿No se puede evitar que esos document.write(); borren
lo anterior? ¿Es un bug del Firefox o es normal, al cargarse las funciones
de JS? ¿Alguien me puede dar algún consejo?

Gracias, y perdón por el tocho ;-)
Responder Con Cita
Alt Today
Advertising
Google Adsense
 
This advertising will not be shown
in this way to registered members.
Register your free account today
and become a member on
Newsgrupos.com
Standard Sponsored Links

  #2 (permalink)  
Antiguo 08-08-2006, 17:48:38
Gothic Armor
 
Mensajes: n/a
Predeterminado Re: Konqueror bien, Firefox mal. (asuntos de javascript)

Jorge S. de Lis escribió:

> Intenta recrear una aventura conversacional cutre, recogiendo los eventos de
> las pulsaciones de teclas con javascript. El problema viene cuando hago un
> document.write(); llamado por un evento de pulsación de tecla. Borra todo
> lo anterior.


Ufff estoy hablando de memoria, pero creo que tendrías que hacer algo asi:
Crea un div llamado "texto" (por ejemplo). Dentro de él introduciremos
lo que queramos añadir con el document.write
Ahora el tema:

<script language='javascript'>
function cambia()
{
document.getElementById('texto').innerHTML += "Adios";
}
</script>

<body>
<div id='texto' onclick='cambia()'>
Hola.
</div>
</body>

Utiliza innerHTML para escribir dentro del div. Fijate que si pones "="
sustituye todo el texto de dentro del div, pero si pones "+=" lo añade.
innerHTML sirve para añadir texto y etiquetas HTML, si solo vas a
introducir texto usa innerText.

Un saludo, y metele caña a la aventura conversacional (sniff, sniff que
recuerdos). Ya avisaras de los progresos :P
Responder Con Cita
  #3 (permalink)  
Antiguo 08-08-2006, 17:48:38
Gothic Armor
 
Mensajes: n/a
Predeterminado Re: Konqueror bien, Firefox mal. (asuntos de javascript)

Jorge S. de Lis escribió:

> Intenta recrear una aventura conversacional cutre, recogiendo los eventos de
> las pulsaciones de teclas con javascript. El problema viene cuando hago un
> document.write(); llamado por un evento de pulsación de tecla. Borra todo
> lo anterior.


Ufff estoy hablando de memoria, pero creo que tendrías que hacer algo asi:
Crea un div llamado "texto" (por ejemplo). Dentro de él introduciremos
lo que queramos añadir con el document.write
Ahora el tema:

<script language='javascript'>
function cambia()
{
document.getElementById('texto').innerHTML += "Adios";
}
</script>

<body>
<div id='texto' onclick='cambia()'>
Hola.
</div>
</body>

Utiliza innerHTML para escribir dentro del div. Fijate que si pones "="
sustituye todo el texto de dentro del div, pero si pones "+=" lo añade.
innerHTML sirve para añadir texto y etiquetas HTML, si solo vas a
introducir texto usa innerText.

Un saludo, y metele caña a la aventura conversacional (sniff, sniff que
recuerdos). Ya avisaras de los progresos :P
Responder Con Cita
  #4 (permalink)  
Antiguo 08-08-2006, 17:48:38
Gothic Armor
 
Mensajes: n/a
Predeterminado Re: Konqueror bien, Firefox mal. (asuntos de javascript)

Jorge S. de Lis escribió:

> Intenta recrear una aventura conversacional cutre, recogiendo los eventos de
> las pulsaciones de teclas con javascript. El problema viene cuando hago un
> document.write(); llamado por un evento de pulsación de tecla. Borra todo
> lo anterior.


Ufff estoy hablando de memoria, pero creo que tendrías que hacer algo asi:
Crea un div llamado "texto" (por ejemplo). Dentro de él introduciremos
lo que queramos añadir con el document.write
Ahora el tema:

<script language='javascript'>
function cambia()
{
document.getElementById('texto').innerHTML += "Adios";
}
</script>

<body>
<div id='texto' onclick='cambia()'>
Hola.
</div>
</body>

Utiliza innerHTML para escribir dentro del div. Fijate que si pones "="
sustituye todo el texto de dentro del div, pero si pones "+=" lo añade.
innerHTML sirve para añadir texto y etiquetas HTML, si solo vas a
introducir texto usa innerText.

Un saludo, y metele caña a la aventura conversacional (sniff, sniff que
recuerdos). Ya avisaras de los progresos :P
Responder Con Cita
  #5 (permalink)  
Antiguo 08-08-2006, 17:48:38
Gothic Armor
 
Mensajes: n/a
Predeterminado Re: Konqueror bien, Firefox mal. (asuntos de javascript)

Jorge S. de Lis escribió:

> Intenta recrear una aventura conversacional cutre, recogiendo los eventos de
> las pulsaciones de teclas con javascript. El problema viene cuando hago un
> document.write(); llamado por un evento de pulsación de tecla. Borra todo
> lo anterior.


Ufff estoy hablando de memoria, pero creo que tendrías que hacer algo asi:
Crea un div llamado "texto" (por ejemplo). Dentro de él introduciremos
lo que queramos añadir con el document.write
Ahora el tema:

<script language='javascript'>
function cambia()
{
document.getElementById('texto').innerHTML += "Adios";
}
</script>

<body>
<div id='texto' onclick='cambia()'>
Hola.
</div>
</body>

Utiliza innerHTML para escribir dentro del div. Fijate que si pones "="
sustituye todo el texto de dentro del div, pero si pones "+=" lo añade.
innerHTML sirve para añadir texto y etiquetas HTML, si solo vas a
introducir texto usa innerText.

Un saludo, y metele caña a la aventura conversacional (sniff, sniff que
recuerdos). Ya avisaras de los progresos :P
Responder Con Cita
  #6 (permalink)  
Antiguo 08-08-2006, 17:48:38
Gothic Armor
 
Mensajes: n/a
Predeterminado Re: Konqueror bien, Firefox mal. (asuntos de javascript)

Jorge S. de Lis escribió:

> Intenta recrear una aventura conversacional cutre, recogiendo los eventos de
> las pulsaciones de teclas con javascript. El problema viene cuando hago un
> document.write(); llamado por un evento de pulsación de tecla. Borra todo
> lo anterior.


Ufff estoy hablando de memoria, pero creo que tendrías que hacer algo asi:
Crea un div llamado "texto" (por ejemplo). Dentro de él introduciremos
lo que queramos añadir con el document.write
Ahora el tema:

<script language='javascript'>
function cambia()
{
document.getElementById('texto').innerHTML += "Adios";
}
</script>

<body>
<div id='texto' onclick='cambia()'>
Hola.
</div>
</body>

Utiliza innerHTML para escribir dentro del div. Fijate que si pones "="
sustituye todo el texto de dentro del div, pero si pones "+=" lo añade.
innerHTML sirve para añadir texto y etiquetas HTML, si solo vas a
introducir texto usa innerText.

Un saludo, y metele caña a la aventura conversacional (sniff, sniff que
recuerdos). Ya avisaras de los progresos :P
Responder Con Cita
  #7 (permalink)  
Antiguo 08-08-2006, 17:48:38
Gothic Armor
 
Mensajes: n/a
Predeterminado Re: Konqueror bien, Firefox mal. (asuntos de javascript)

Jorge S. de Lis escribió:

> Intenta recrear una aventura conversacional cutre, recogiendo los eventos de
> las pulsaciones de teclas con javascript. El problema viene cuando hago un
> document.write(); llamado por un evento de pulsación de tecla. Borra todo
> lo anterior.


Ufff estoy hablando de memoria, pero creo que tendrías que hacer algo asi:
Crea un div llamado "texto" (por ejemplo). Dentro de él introduciremos
lo que queramos añadir con el document.write
Ahora el tema:

<script language='javascript'>
function cambia()
{
document.getElementById('texto').innerHTML += "Adios";
}
</script>

<body>
<div id='texto' onclick='cambia()'>
Hola.
</div>
</body>

Utiliza innerHTML para escribir dentro del div. Fijate que si pones "="
sustituye todo el texto de dentro del div, pero si pones "+=" lo añade.
innerHTML sirve para añadir texto y etiquetas HTML, si solo vas a
introducir texto usa innerText.

Un saludo, y metele caña a la aventura conversacional (sniff, sniff que
recuerdos). Ya avisaras de los progresos :P
Responder Con Cita
  #8 (permalink)  
Antiguo 10-08-2006, 19:37:44
Alvaro G. Vicario
 
Mensajes: n/a
Predeterminado Re: Konqueror bien, Firefox mal. (asuntos de javascript)

*** Jorge S. de Lis escribió/wrote (Tue, 08 Aug 2006 12:30:42 +0200):
> Intenta recrear una aventura conversacional cutre, recogiendo los eventos de
> las pulsaciones de teclas con javascript. El problema viene cuando hago un
> document.write(); llamado por un evento de pulsación de tecla. Borra todo
> lo anterior.
>
> ¿Extraño?


No, es que en realidad el JavaScript y el DOM son un pelín más complicados
que eso ;-)

Tienes que visualizar el documento HTML como un árbol de nodos, donde unos
nodos son etiquetas, otros son texto... Si quieres ir añadiendo texto
dinámicamente, pues cada vez tienes que crear un nuevo nodo y colocarlo en
el lugar de la página que le corresponde.

No sé qué quieres hacer exactamente porque tu página no me funciona pero
espero que esto te pueda dar alguna idea:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Álvaro G. Vicario">
<script type="text/javascript"><!--
function anadirLinea(){
var lista=document.getElementById('salida');
var texto=document.f.entrada.value;
var linea=document.createElement('li');
linea.appendChild(document.createTextNode(texto));
lista.appendChild(linea);

document.f.entrada.value='';
document.f.entrada.focus();
}
//--></script>
</head>
<body>

<form name="f" onsubmit="anadirLinea(); return false;"><input type="text"
name="entrada" size="40"><input type="submit" value="Agregar"></form>

<ol id="salida">
</ol>

</body>
</html>


--
-+ http://alvaro.es - Álvaro G. Vicario - Burgos, Spain
++ Mi sitio sobre programación web: http://bits.demogracia.com
+- Mi web de humor con rayos UVA: http://www.demogracia.com
--
Responder Con Cita
 
  #9 (permalink)  
Antiguo 10-08-2006, 19:37:44
Alvaro G. Vicario
 
Mensajes: n/a
Predeterminado Re: Konqueror bien, Firefox mal. (asuntos de javascript)

*** Jorge S. de Lis escribió/wrote (Tue, 08 Aug 2006 12:30:42 +0200):
> Intenta recrear una aventura conversacional cutre, recogiendo los eventos de
> las pulsaciones de teclas con javascript. El problema viene cuando hago un
> document.write(); llamado por un evento de pulsación de tecla. Borra todo
> lo anterior.
>
> ¿Extraño?


No, es que en realidad el JavaScript y el DOM son un pelín más complicados
que eso ;-)

Tienes que visualizar el documento HTML como un árbol de nodos, donde unos
nodos son etiquetas, otros son texto... Si quieres ir añadiendo texto
dinámicamente, pues cada vez tienes que crear un nuevo nodo y colocarlo en
el lugar de la página que le corresponde.

No sé qué quieres hacer exactamente porque tu página no me funciona pero
espero que esto te pueda dar alguna idea:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Álvaro G. Vicario">
<script type="text/javascript"><!--
function anadirLinea(){
var lista=document.getElementById('salida');
var texto=document.f.entrada.value;
var linea=document.createElement('li');
linea.appendChild(document.createTextNode(texto));
lista.appendChild(linea);

document.f.entrada.value='';
document.f.entrada.focus();
}
//--></script>
</head>
<body>

<form name="f" onsubmit="anadirLinea(); return false;"><input type="text"
name="entrada" size="40"><input type="submit" value="Agregar"></form>

<ol id="salida">
</ol>

</body>
</html>


--
-+ http://alvaro.es - Álvaro G. Vicario - Burgos, Spain
++ Mi sitio sobre programación web: http://bits.demogracia.com
+- Mi web de humor con rayos UVA: http://www.demogracia.com
--
Responder Con Cita
  #10 (permalink)  
Antiguo 10-08-2006, 19:37:44
Alvaro G. Vicario
 
Mensajes: n/a
Predeterminado Re: Konqueror bien, Firefox mal. (asuntos de javascript)

*** Jorge S. de Lis escribió/wrote (Tue, 08 Aug 2006 12:30:42 +0200):
> Intenta recrear una aventura conversacional cutre, recogiendo los eventos de
> las pulsaciones de teclas con javascript. El problema viene cuando hago un
> document.write(); llamado por un evento de pulsación de tecla. Borra todo
> lo anterior.
>
> ¿Extraño?


No, es que en realidad el JavaScript y el DOM son un pelín más complicados
que eso ;-)

Tienes que visualizar el documento HTML como un árbol de nodos, donde unos
nodos son etiquetas, otros son texto... Si quieres ir añadiendo texto
dinámicamente, pues cada vez tienes que crear un nuevo nodo y colocarlo en
el lugar de la página que le corresponde.

No sé qué quieres hacer exactamente porque tu página no me funciona pero
espero que esto te pueda dar alguna idea:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Author" content="Álvaro G. Vicario">
<script type="text/javascript"><!--
function anadirLinea(){
var lista=document.getElementById('salida');
var texto=document.f.entrada.value;
var linea=document.createElement('li');
linea.appendChild(document.createTextNode(texto));
lista.appendChild(linea);

document.f.entrada.value='';
document.f.entrada.focus();
}
//--></script>
</head>
<body>

<form name="f" onsubmit="anadirLinea(); return false;"><input type="text"
name="entrada" size="40"><input type="submit" value="Agregar"></form>

<ol id="salida">
</ol>

</body>
</html>


--
-+ http://alvaro.es - Álvaro G. Vicario - Burgos, Spain
++ Mi sitio sobre programación web: http://bits.demogracia.com
+- Mi web de humor con rayos UVA: http://www.demogracia.com
--
Responder Con Cita
Respuesta


Herramientas
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Trackbacks are habilitado
Pingbacks are habilitado
Refbacks are habilitado


Temas Similares
Tema Autor Foro Respuestas Último mensaje
Abrir ficheros de un servidor con javascript en Firefox ruben Newsgroup microsoft.public.es.webmasters 0 15-05-2008 11:40:02
Abrir ficheros de un servidor con javascript en Firefox ruben Newsgroup microsoft.public.es.asp 0 15-05-2008 11:40:01
Re: Compatibilidad javascript firefox div style ete1 Newsgroup es.comp.lenguajes.php 10 13-01-2008 11:40:25
Compatibilidad javascript firefox div style LuisDavid Newsgroup es.comp.lenguajes.php 36 13-01-2008 11:40:25
Problema seguridad Firefox Javascript flaw noSign Newsgroup es.comp.virus 0 26-04-2006 22:57:07





Powered by: vBulletin, Versión 3.6.8
Derechos de Autor ©2000 - 2008, Jelsoft Enterprises Ltd.

LinkBacks Enabled by vBSEO 3.1.0 © 2007, Crawlability, Inc.