Tengo un sitio web que mantengo a mí mismo. No tengo una dirección IP estática, así que tengo todo el tráfico de mi dominio remitido con cinta de enmascarar a mi cuenta de DDNS. La página resultante se parece a esto…

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
  <title>mydomianname.com</title>
</head>
<frameset rows="100%,*" border="0">
  <frame src="http://myddns.dyndns.org/mydomainname" frameborder="0" />
  <frame frameborder="0" noresize />
</frameset>
</html>

¿Cómo puedo actualizar la URL de el «padre» de la trama como a los usuarios navegar dentro de el «niño» de marco?

ACTUALIZACIÓN: el Éxito?

He intentado hacer esto con javascript, pero había un problema conseguir la correcta href a mi función de javascript sin tener efectos secundarios adversos (tener dos ventanas abiertas, tener mi ventana principal, vaya a la ubicación incorrecta, o lo que es por lo que el botón de atrás no funciona bien). Todo lo que necesitaba era un atributo de mi a etiqueta para mantener un valor que podría utilizar en mi javascript, pero no hacer nada en absoluto. La adición de la atribuye value evento aunque no es un nativo de atributo para el a etiqueta de las grandes obras.

La a etiqueta…

<a onclick="url_update(this);" value="test/test.html" href="javascript:void(0);">test link</a>

y la función de javascript…

function url_update(element){
    base_url = 'http://mydomain.com/';
    window.parent.location.href = base_url + element.getAttribute('value');
}

el resultado actualizado URL es…

http://mydomain.com/test/test.html

… y no hay ninguno de los anteriormente mencionados efectos secundarios.

El único «efecto secundario» que me gustaría fijar la visualización del enlace en la barra de información en la parte inferior de la ventana de un navegador. Ahora dice javascript:void(0); porque eso es lo que está escrito en mi href atributo, pero me gustaría mostrar la URL actualizada cuando el enlace se cernía sobre… alguna idea?

Sería aún mejor si pudiera chatarra de todo esto de javascript y el uso de IIS 7 de Reescritura de URL 2.0 para hacer de este lugar… pero no he llegado a dominar el arte negro de la reescritura de URL.

OriginalEl autor ubiquibacon | 2010-12-05

3 Comentarios

  1. 9

    javascript:

    window.top.location = 'anther url'

    –UPDATE actualizado pregunta

    uso element.getAttribute('value') en lugar de element.value

    –UPDATE #2
    Utilice el atributo href, sin embargo, agregar un return false; a la función onclick:

    <a onclick="url_update(this);return false;" value="test/test.html" href="test/test.html">test link</a>

    Una vez que usted está haciendo eso, usted puede aswell omitir el atributo de valor y sólo tiene que utilizar la propiedad href, la actualización de su url_update función para utilizar element.href en lugar de element.value

    su respuesta parece que podría funcionar, pero necesito hacer esto para cada enlace en mi sitio. Si tengo algo como <a href=»/test/test.html»>la prueba enlace</a> entonces, ¿cómo puedo pasar el /test/test.html a una sola función de javascript que se actualizará cada enlace que llama a esa función?
    impresionante, yo no sabía que se podía añadir sólo en atributos que no eran nativos de la etiqueta! Ahora puedo usar el valor en lugar de abusar de las rel y/o rev atributos. ¿Usted también sabe cómo puedo hacer la actualización de la URL se mostrará correctamente en la barra de información en la parte inferior de la ventana del navegador cuando se me pase el ratón sobre el enlace? (ver actualizado pregunta).

    OriginalEl autor The Scrum Meister

  2. 4

    Es difícil decir con su pregunta exactamente que los marcos estén haciendo, pero si El Scrum Meister la solución que funciona para usted, que usted puede implementar fácilmente lo que desea mediante la adición de este a cada uno de los tags.

     target="_top"

    Su ejemplo modificado.

    <a href="test/test.html" target="_top">test link</a> 

    También puedes hacer esto con jquery…
    En la página donde todos los tags deben tener target=»_top» puede implementar el siguiente código jquery en la página y le agregar dinámicamente el objetivo de todos los enlaces.

    <script language="javascript" type="text/javascript">
    $(function()
    {
         $("A").attr("target","_top");
    });
    </script>

    Eso es suponiendo que usted tiene normail Una etiqueta con el atributo href, usted puede deshacerse de la onclick todos juntos, no hay otra javascript es necesario con el objetivo de la solución.

    Estoy de acuerdo con usted, es difícil saber lo que está pasando en mi pregunta, pero cuando le doy todos los detalles que mis preguntas no son contestadas porque la gente no les gusta leer por mucho tiempo 🙂 he intentado utilizar la etiqueta de destino como usted dijo, pero no podía conseguir que funcione bien con mi configuración, pero ella me dio la idea de probar algunos otros atributos tan solo por el hecho de pasar de un valor a mi función de javascript. He utilizado rel sólo para mantener el valor y funciona muy bien. Sé que no es lo que los rel atributo es, pero funciona. Ver a mis actualizado pregunta.
    Target = "_top" es por lejos la forma más sencilla de hacer esto! Gracias!

    OriginalEl autor Mark At Ramp51

  3. 2

    Primer lugar usted necesita para estar en el mismo dominio… de lo contrario por razones de seguridad no se puede cambiar.
    Declarar y llamar a esta función en su hijo marco

    function change(theUrl){
    
    window.parent.reloadContent(theUrl);
    }

    De su padre, tiene la siguiente función :

    function reloadContent(theUrl){
      if (theUrl != ""){ 
          document.getElementById("frameID").src= theUrl ; 
      } 
    }

    OriginalEl autor millebii

Dejar respuesta

Please enter your comment!
Please enter your name here