"Escapar" caracteres en JavaScript

01/05/2004 - 02:44 por Tximis | Informe spam
Tengo un JS que hace lo siguiente:

document.write(" \
<table width=\"775\"> \
<tr> \

(...)

");

Para que el script funcione correctamente al final de cada linea tengo
que poner el caracter \ y las comillas ponerlas asi \", es decir
escaparlas. Hay alguna forma de poder ponerlas directamente? ¿Alguna
funcion que las escape?

Un saludo.

Preguntas similare

Leer las respuestas

#1 Manuel
01/05/2004 - 05:36 | Informe spam
var s= '<table width="775" ...></table>';
document.write(s);

Saludos.
Respuesta Responder a este mensaje
#2 Tximis
01/05/2004 - 12:22 | Informe spam
var s= '<table width="775" ...></table>';
document.write(s);

Saludos.



Hola, muchas gracias funciona correctamente, lo unica pega que encuentro
es que en cada final de linea tengo que seguir poniendo los \, es decir
asi:

var texto = '\
\
<table border="0" cellspacing="0" cellpadding="0" width="775"> \
hola mundo \
</table> \
\
';
document.write(texto);

¿Hay alguna forma de evitar tener que poner los \ del final? ¿Alguna
otra funcion?

Un saludo,
Respuesta Responder a este mensaje
#3 Manuel
01/05/2004 - 19:02 | Informe spam
Hola, muchas gracias funciona correctamente, lo unica pega que


encuentro
es que en cada final de linea tengo que seguir poniendo los \, es decir
asi:

var texto = '\
\
<table border="0" cellspacing="0" cellpadding="0"width="775"> \
hola mundo \
</table> \
\
';
document.write(texto);

¿Hay alguna forma de evitar tener que poner los \ del final? ¿Alguna
otra funcion?



var texto = '<table border="0">';
var texto += 'hola mundo';
var texto += '<\table><br>';
document.write(texto);

Creo que es añadiendo <br>. donde quieras el retorno...

Saludos
Respuesta Responder a este mensaje
#4 Tximis
03/05/2004 - 01:18 | Informe spam
var texto = '<table border="0">';
var texto += 'hola mundo';
var texto += '<\table><br>';
document.write(texto);



Mas incomodo todavia este metodo, copio aqui el mensaje que he mandado
en este mismo grupo en respuesta a Lokutus, pero explicar mi problema:



Hazte una clase, que sirva para generar tablas dinámicamente.
Aqui tienes un ejemplo de lo que digo, (sin acabar ni chequear),



Hola Lokutus, muchas gracias por el codigo pero no es lo que busco.
Explico cual es mi problema: supongamos que quiero hacer un portal, el
portal lleva un menu y este menu va a cambiar muy a menudo. Donde va a
estar alojado el portal no tengo posibilidad de generar contenidos
dinamicos, no tengo ni PHP ni ASP, es decir mi servidor solo sirve
paginas HTML estaticas. Un CD-ROM tambien es un "servidor" estatico..

Hace tiempo intente buscar la forma de añadir ese menu de la forma mas
estandar posible, no encontre nada que me garantizara que me iva a
funcionar en todos los navegadores. Al final me dicidi a utilizar una
chapuza en JavaScript, en el lugar donde quiero insertar el menu pongo lo
siguiente:

<script language="JavaScript" src="menu.js"></script>

En menu.js tengo el contenido del menu en HTML puro, y lo "inserto"
por medio de la funcion document.write(); A este metodo le encotraba la
"pega" que me era engorroso tener que escapar todos los caracteres
especiales, pero ya me pasaron una solucion, utilizar comillas simples:

document.write('<img src="estoy_entre_comillas_y_funciono.jpg"');

Pero soy un poco kiskilloso, quiero que me sea lo mas comodo posible,
me explico: ahora al final de cada linea del texto a insertar tengo que
poner el caracter \ para que funcione, algo asi:

var texto = '\
\
<table border="0" cellspacing="0" cellpadding="0" width="775"> \
hola mundo \
</table> \
\
';
document.write(texto);

Lo unico que busco es comodidad, es decir, hago los cambios que tenga
que hacer en el menu, y hago un copiar y pegar en el fichero menu.js sin
tener que andar haciendo mas cambiar, escapando caracteres, añadiendo el
caracter \ al final de cada linea, etc..

El otro dia alguien comento que esto se podria hacer con las
"templates" de dreamweaver pero no me interesa, hago las paginas con un
editor de textos y siempre intentado buscar que sean los mas estandar
posibles.

Un saludo.
Respuesta Responder a este mensaje
#5 Miguel González
04/05/2004 - 12:02 | Informe spam
Hola Tximis.

¿Has sopesado la posibilidad de utilizar marcos ("frames")?

Si divides la página en marcos y en uno de ellos albergas el menú (siendo
este una página HTML) lo podrás utilizar desde toda la web...

PD: el caracter "\" te permite en Javascript ir "encadenando" líneas a fin
de hacer más clara la lectura "humana" del código. El resultado es el mismo
que si escribes todo el menú en una única línea.

Otra posibilidad muy interesante es utilizar XML como fuente de datos del
menu (se pueden hacer cosas increíbles). El inconveniente está en que los
navegadores antiguos no soportan este formato.

Saludos!
Miguel



"Tximis" escribió en el mensaje
news:

> var texto = '<table border="0">';
> var texto += 'hola mundo';
> var texto += '<\table><br>';
> document.write(texto);

Mas incomodo todavia este metodo, copio aqui el mensaje que he mandado
en este mismo grupo en respuesta a Lokutus, pero explicar mi problema:



> Hazte una clase, que sirva para generar tablas dinámicamente.
> Aqui tienes un ejemplo de lo que digo, (sin acabar ni chequear),

Hola Lokutus, muchas gracias por el codigo pero no es lo que busco.
Explico cual es mi problema: supongamos que quiero hacer un portal, el
portal lleva un menu y este menu va a cambiar muy a menudo. Donde va a
estar alojado el portal no tengo posibilidad de generar contenidos
dinamicos, no tengo ni PHP ni ASP, es decir mi servidor solo sirve
paginas HTML estaticas. Un CD-ROM tambien es un "servidor" estatico..

Hace tiempo intente buscar la forma de añadir ese menu de la forma mas
estandar posible, no encontre nada que me garantizara que me iva a
funcionar en todos los navegadores. Al final me dicidi a utilizar una
chapuza en JavaScript, en el lugar donde quiero insertar el menu pongo lo
siguiente:

<script language="JavaScript" src="menu.js"></script>

En menu.js tengo el contenido del menu en HTML puro, y lo "inserto"
por medio de la funcion document.write(); A este metodo le encotraba la
"pega" que me era engorroso tener que escapar todos los caracteres
especiales, pero ya me pasaron una solucion, utilizar comillas simples:

document.write('<img src="estoy_entre_comillas_y_funciono.jpg"');

Pero soy un poco kiskilloso, quiero que me sea lo mas comodo posible,
me explico: ahora al final de cada linea del texto a insertar tengo que
poner el caracter \ para que funcione, algo asi:

var texto = '\
\
<table border="0" cellspacing="0" cellpadding="0" width="775"> \
hola mundo \
</table> \
\
';
document.write(texto);

Lo unico que busco es comodidad, es decir, hago los cambios que tenga
que hacer en el menu, y hago un copiar y pegar en el fichero menu.js sin
tener que andar haciendo mas cambiar, escapando caracteres, añadiendo el
caracter \ al final de cada linea, etc..

El otro dia alguien comento que esto se podria hacer con las
"templates" de dreamweaver pero no me interesa, hago las paginas con un
editor de textos y siempre intentado buscar que sean los mas estandar
posibles.

Un saludo.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida