Foros del Web » Programando para Internet » Javascript »

Problema objeto Location

Estas en el tema de Problema objeto Location en el foro de Javascript en Foros del Web. Hola, buenas, primero me presento ya que soy nuevo. Mi problema es el siguiente, tengo que hacer un ejercicio en el que me piden un ...
  #1 (permalink)  
Antiguo 05/03/2010, 14:27
 
Fecha de Ingreso: marzo-2010
Mensajes: 9
Antigüedad: 14 años, 9 meses
Puntos: 0
Problema objeto Location

Hola, buenas, primero me presento ya que soy nuevo.
Mi problema es el siguiente, tengo que hacer un ejercicio en el que me piden un programa javascript que muestre todas las opciones del objeto Location.Lo tengo que hacer en una funcion y mostrarla en el body.
Este es mi ejercicio aunque me faltaria el objeto replace(url):

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<title>Hello!</title>

<script languaje="javascript">
function ejercicio(){
document.write('hash: ')
document.write(location.hash)
document.write('<br />')
document.write('host: ')
document.write(location.host)
document.write('<br />')
document.write('hostname: ')
document.write(location.hostname)
document.write('<br />')
document.write('href: ')
document.write(location.href)
document.write('<br />')
document.write('port: ')
document.write(location.port)
document.write('<br />')
document.write('protocol: ')
document.write(location.protocol)
document.write('<br />')
document.write('pathname: ')
document.write(location.pathname)
document.write('<br />')
document.write('target: ')
document.write(location.target)
document.write('<br />')

}
</script>



</head>

<body>


<input type="Button" name="boton" value="ejercicio" onClick="ejercicio();">

<input type="submit" value="Actualizar" onClick="javascript:location.reload()">

</body>

</html>

Mi intencion es meter el objeto reload() tambien en la funcion, y no tener que declararlo en el head.¿Como lo hago? y ¿Como hago para que se muestre mi funcion sin necesidad de crear un boton?

Muchisimas gracias a todos.Un cordial saludo
  #2 (permalink)  
Antiguo 05/03/2010, 14:42
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses
Puntos: 1485
Respuesta: Problema objeto Location

no comprendo tu duda. entiendo el ejercicio que tienes que hacer pero no entiendo a lo que te refieres con meter la funcion reload. podrias explicarte un poco mas?
Cita:
¿Como hago para que se muestre mi funcion sin necesidad de crear un boton?
¿con eso te refieres a invocar tu funcion sin un boton? si es eso pues simplemente invoca tu funcion al final de tu script.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 05/03/2010, 14:45
 
Fecha de Ingreso: marzo-2010
Mensajes: 9
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Problema objeto Location

Cita:
Iniciado por zerokilled Ver Mensaje
no comprendo tu duda. entiendo el ejercicio que tienes que hacer pero no entiendo a lo que te refieres con meter la funcion reload. podrias explicarte un poco mas?
Simplemente que tengo que mostrar todos los objetos, aunque me faltaria el reload y el replace(url).

Mi pregunta es...¿Como quedaria el codigo mostrando estos dos ultimos tambien y como llamaria a la funcion en el body? gracias
  #4 (permalink)  
Antiguo 05/03/2010, 14:49
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses
Puntos: 1485
Respuesta: Problema objeto Location

reload y replace no son objetos, son metodos o funciones del objeto location. si quieres mostrarlo, simplemente escribes el nombre del metodo sin los parentesis ya que estos indican invocacion de la funcion o metodo. o sea, harias lo mismo como estas haciendo con las demas propiedades. ahora bien, dado que son funciones nativas realmente obtendras una informacion poco o nada util ya que al ser nativos aparecen como si fuera oculto.

para invocar tu funcion, en tu caso no tienes que hacerlo desde el body. puedes invocarlo al final de tu script.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #5 (permalink)  
Antiguo 05/03/2010, 15:03
 
Fecha de Ingreso: marzo-2010
Mensajes: 9
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Problema objeto Location

ok, al final mi codigo quedaria asi:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<title>Hello!</title>

<script languaje="javascript">
function ejercicio(){
document.write('hash: ')
document.write(location.hash)
document.write('<br />')
document.write('host: ')
document.write(location.host)
document.write('<br />')
document.write('hostname: ')
document.write(location.hostname)
document.write('<br />')
document.write('href: ')
document.write(location.href)
document.write('<br />')
document.write('port: ')
document.write(location.port)
document.write('<br />')
document.write('protocol: ')
document.write(location.protocol)
document.write('<br />')
document.write('pathname: ')
document.write(location.pathname)
document.write('<br />')
}
</script>

</head>

<body>
<script languaje="javascript">
document.write(ejercicio());
</script>
<br>
<input type="submit" value="Actualizar" onClick="javascript:location.reload()">

</body>

</html>

Pero ahora el problema es el siguiente:

hash:
host:
hostname:
href: file:///C:/Users/Fran/Desktop/prev3~.html
port:
protocol: file:
pathname: /C:/Users/Fran/Desktop/prev3~.html
undefined

que no me muestra nada en los campos que estan vacios, cuando antes si me lo mostraba.
  #6 (permalink)  
Antiguo 05/03/2010, 15:13
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses
Puntos: 1485
Respuesta: Problema objeto Location

Cita:
que no me muestra nada en los campos que estan vacios, cuando antes si me lo mostraba.
¿en serio? quiero decir, los campos vacios se llenan segun la informacion disponible en la URL. es decir, si la URL es http://www.hostname.com:80/path/directory/filename.html?variable=value#hash, debe mostrarte casi todos los campos porque la URL contiene valor en los diferentes componentes. pero si pones una URL simple como http://www.hostname.com/filename.htm, te mostrara pocos datos porque eso es lo que hay en la URL. por otro lado, cuando invoques tu funcion, no tienes que ponerlo dentro de document.write, por eso al final te imprime undefined.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #7 (permalink)  
Antiguo 05/03/2010, 15:26
 
Fecha de Ingreso: marzo-2010
Mensajes: 9
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Problema objeto Location

Cita:
Iniciado por zerokilled Ver Mensaje
¿en serio? quiero decir, los campos vacios se llenan segun la informacion disponible en la URL. es decir, si la URL es http://www.hostname.com:80/path/directory/filename.html?variable=value#hash, debe mostrarte casi todos los campos porque la URL contiene valor en los diferentes componentes. pero si pones una URL simple como http://www.hostname.com/filename.htm, te mostrara pocos datos porque eso es lo que hay en la URL. por otro lado, cuando invoques tu funcion, no tienes que ponerlo dentro de document.write, por eso al final te imprime undefined.
perdon por mi torpeza pero no entiendo porque antes me los mostraba, y ahora no cuando no ha habido ningun cambio significativo.Si no es mucha molestia, podrias copiar mi codigo y mostrarme como quedaria para que me muestre todos los campos?seguramente sea una tonteria.un saludo y gracias
  #8 (permalink)  
Antiguo 05/03/2010, 15:33
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses
Puntos: 1485
Respuesta: Problema objeto Location

no tienes que hacer mas cambio a tu codigo. el problema es la URL en si. intenta lo siguiente:
  1. carga tu documento en el navegador
  2. al final de la URL escribes ?prueba=1#ancla
  3. presionar Enter
  4. ver resultados
veras que muestra un poco mas de informacion, aunque no toda porque la prueba la estas haciendo en local, y por ende offline (local) es muy diferente a online (internet). me extraña que antes te mostrara el resto de los datos, a no ser que tengas un servidor instalado en local como apache.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #9 (permalink)  
Antiguo 05/03/2010, 15:34
 
Fecha de Ingreso: marzo-2010
Mensajes: 9
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Problema objeto Location

Cita:
Iniciado por zerokilled Ver Mensaje
no tienes que hacer mas cambio a tu codigo. el problema es la URL en si. intenta lo siguiente:
  1. carga tu documento en el navegador
  2. al final de la URL escribes ?prueba=1#ancla
  3. presionar Enter
  4. ver resultados
veras que muestra un poco mas de informacion, aunque no toda porque la prueba la estas haciendo en local, y por ende offline (local) es muy diferente a online (internet).
ahora me muestra esto:

hash: #ancla
host:
hostname:
href: file:///C:/Users/Fran/Desktop/prev3~.html?prueba=1#ancla
port:
protocol: file:
pathname: /C:/Users/Fran/Desktop/prev3~.html

pero al menos deberia de mostrarme el hostname no??
  #10 (permalink)  
Antiguo 05/03/2010, 15:39
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses
Puntos: 1485
Respuesta: Problema objeto Location

no, porque en local no actua como servidor. si tuvieras un servidor en local e hicieras las pruebas desde este, host te mostraria localhost. y lo mismo sucede con hostname y port. esta informacion se envia cuando se tiene un servidor HTTP, y por supuesto, siempre y cuando esté presente en la URL como te mostre en mensajes anteriores.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #11 (permalink)  
Antiguo 05/03/2010, 15:44
 
Fecha de Ingreso: marzo-2010
Mensajes: 9
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Problema objeto Location

Cita:
Iniciado por zerokilled Ver Mensaje
no, porque en local no actua como servidor. si tuvieras un servidor en local e hicieras las pruebas desde este, host te mostraria localhost. y lo mismo sucede con hostname y port. esta informacion se envia cuando se tiene un servidor HTTP, y por supuesto, siempre y cuando esté presente en la URL como te mostre en mensajes anteriores.
he hecho una prueba.Yo uso el rapid php 2010 como editor, bueno pues he creado un documento nuevo y lo he pegado ahi, y le dado ha ejecutar pero sin guardarlo antes:

hash:
host: localhost:89
hostname: localhost
href: http://localhost:89/~C/Users/Fran/AppData/Local/Temp/prev4~.php
port: 89
protocol: http:
pathname: /~C/Users/Fran/AppData/Local/Temp/prev4~.php

y ahora si me lo muestra.Si lo guardo, no me lo muestra
  #12 (permalink)  
Antiguo 05/03/2010, 15:53
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 7 meses
Puntos: 1485
Respuesta: Problema objeto Location

pues la verdad que no tengo idea porque desconozco de rapid php. en todo caso, si te fijas en la informacion devuelta veras que la aplicacion esta actuando como un servidor. en ese caso si te funciona precisamente por eso, porque actua como servidor. pero si lo haces sin la aplicacion, entonces actua como local. es un tanto diferente en local y servidor. ahora veo donde esta tu preocupacion, y es que no te muestra los valores de hash y search. en este caso, tienes que buscar la manera de introducir los componentes de la URL faltantes desde la aplicacion, si es que tiene la forma. sino, te lo seguira mostrando como vacio.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #13 (permalink)  
Antiguo 06/03/2010, 06:41
 
Fecha de Ingreso: marzo-2010
Mensajes: 9
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Problema objeto Location

Cita:
Iniciado por zerokilled Ver Mensaje
pues la verdad que no tengo idea porque desconozco de rapid php. en todo caso, si te fijas en la informacion devuelta veras que la aplicacion esta actuando como un servidor. en ese caso si te funciona precisamente por eso, porque actua como servidor. pero si lo haces sin la aplicacion, entonces actua como local. es un tanto diferente en local y servidor. ahora veo donde esta tu preocupacion, y es que no te muestra los valores de hash y search. en este caso, tienes que buscar la manera de introducir los componentes de la URL faltantes desde la aplicacion, si es que tiene la forma. sino, te lo seguira mostrando como vacio.
muchisimas gracias, me has solucionados mis problemas.Pueden cerrar el post.

Etiquetas: location, objeto
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 09:02.