Cambiar el título de la pestaña

Caydo Mensajes publicados 12 Estado Miembro -  
 Rotpe -
Hola,
Tengo un problema, quiero cambiar el título de la pestaña cuando hago clic en un enlace, así que intenté con "document.title" pero no funciona porque uso frames, por lo que modifica el título de la página en la que estoy y no de la página de índice donde están organizados los frames.
¿Alguien puede ayudarme, por favor?
Si hay algo que no se ha entendido, no duden en hacerme preguntas para obtener más información.
Gracias de antemano

Caydo

Configuración: Windows / Chrome 79.0.3945.88

3 respuestas

  1. jordane45 Mensajes publicados 30426 Fecha de registro   Estado Moderador Última intervención   4 830
     
    Hola,

    Sin ver el código html correspondiente a tu pregunta... ni el código JS que estás tratando de usar... ¡imposible responderte!

    NB: Para publicar tu código en el foro, por favor utiliza las etiquetas de código (indicando el lenguaje para obtener la coloración sintáctica y la indentación)
    Explicaciones disponibles aquí: https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

    --
    Atentamente,
    Jordane
    0
  2. Rotpe
     
    Hola,
    "y aún no he hecho JavaScript, solo estaba haciendo pruebas por el momento. "
    Sí, bueno, dado que es en esta parte donde piden ayuda, habría que ver ya lo que han hecho para saber qué no funciona y qué sí funciona en lo que tienen...

    De lo contrario, para el selector, utilicen mejor el que se indica aquí:

    https://www.w3schools.com/jsref/dom_obj_title.asp

    o teniendo en cuenta la ruta completa:

    document.head.getElementByTagName('title');

    Sin embargo, para escribir/modificar pueden usar .innerHTML

    https://www.w3schools.com/jsref/prop_html_innerhtml.asp

    Y para la interactividad (reaccionar al clic u otro evento):
    https://developer.mozilla.org/fr/docs/Web/API/EventTarget/addEventListener

    Sin embargo, no hay que usar frames, prefieran los iframe que, de hecho, son más simples de escribir.
    De todos modos, dado que el título está en cada página, es en cada página donde debe modificarse la modificación!
    Los frameset (depreciados y a evitar porque son demasiado complicados y inestables en términos de funcionamiento, y asesinos del SEO) como los iframes solo llaman a otra página en la página que contiene las otras.
    Si quieren hacer todo desde la página que contiene las otras frames, simplemente tendrán que pasar de una página a otra así, pero complica un poco la lógica:

    http://www.xorax.info/blog/programmation/100-cibler-javascript-document-iframe.html

    Pero bueno, una página que se muestra en el navegador es su título el que se mostrará y no el título de las páginas que pueden estar incluidas como frame.
    Digo cosas evidentes, pero no parecía que lo fueran en su pregunta.
    Una página muestra un solo título.

    Por último: El título no debería cambiarse en una página (una vez mostrado, antes siempre se puede) ya que el título de una página es una información esencial para el SEO de esta, la descripción de qué es y sobre qué tema trata la página.
    Por lo tanto, debe ser explícito y representar el contenido de la página.

    Fuera de "Menú" no significa nada preciso (y nadie busca menú en Internet o lo hace con la palabra restaurante)... si ponen "Selección de la página de ...tema/sujeto relacionado con la página", ya tienen algo que indica lo que contiene su página, por lo que los usuarios podrán encontrarla con las palabras clave adecuadas.

    En cuanto a "menúS", sin embargo, tienen que utilizar las buenas etiquetas para que el navegador (y el SEO) pueda establecer un contenido jerárquico, semántico y hacer una tabla de contenido.
    Esto se hace en HTML5 con las etiquetas "section" y "article", seguido de un título (H1, H2... que se convertirá en el título del artículo correspondiente):

    section>article>h(x)
    (x) debe ser sustituido por un número del 1 al 6 en importancia del título del artículo.

    Bueno, para resumir, intentan aprender JavaScript utilizando etiquetas que no deberían utilizarse desde hace más de 10 años (frame y frameset) y tener un programa que funcione en 3 páginas, aunque no tienen forma de comunicarse entre sí (bueno, siempre se puede hacer un formulario, pero es complicado)
    ...ok, está bien.

    Pero bueno, es mejor partir de un HTML correcto, con la creación de una tabla de contenido y un título que signifique algo y que esté relacionado con el contenido de la página. Pero como JavaScript permite intervenir en toda la página, sería más interesante que miraran todo lo que puede hacer con el contenido de la página y no solo modificar un título que no tiene la vocación de ser modificado... en cualquier caso, no sin perder la calidad de sus páginas y la visibilidad que tendrán las personas al encontrar su sitio.

    Y tener 3 páginas en lugar de una para gestionar y añadir la programación adecuada, ¿qué les aporta? ¿Por qué no reunir todo en una sola página clara y concisa?
    Si prefieren complicarse la vida, al menos esperen a tener algunas bases en JavaScript, verán que todo vendrá solo XD

    Sobre la semántica HTML5
    https://www.alsacreations.com/article/lire/1376-html5-section-article-nav-header-footer-aside.html

    sobre los iframe:
    https://www.w3schools.com/tags/tag_iframe.asp

    ver comentario en rojo sobre los frameset
    https://www.w3schools.com/TAGs/tag_frameset.asp

    En JavaScript detalles sobre el selector con .getElementsByTagName* devuelve un Array (tabla)
    https://www.w3schools.com/js/js_arrays.asp
    • generalmente a evitar para otros selectores más rápidos y precisos (

    .getElementsByTagName devuelve la tabla de todas las etiquetas con el nombre indicado como parámetro de función, es necesariamente más largo/menos eficiente listar todos los elementos 'algo' de la página para usar solo uno).
    0