Pregunta:
Fecha: 24-02-2016 18:58:55
(En Español)
Quisiera saber cómo puedo cambiar el título de la página como lo hace Facebook cada vez que llega un mensaje, sin que se borre el título que tenia.
Saludos Votos: 3 - Respuestas: 8 - Vistas: 17 Compartir en: Google Facebook Twitter LinkedIn Link
¿Cómo cambiar el título de la página con JQuery?[Resuelta]
Hola amigos,Quisiera saber cómo puedo cambiar el título de la página como lo hace Facebook cada vez que llega un mensaje, sin que se borre el título que tenia.
Saludos Votos: 3 - Respuestas: 8 - Vistas: 17 Compartir en: Google Facebook Twitter LinkedIn Link
Respuestas:
-
Fecha: 25-02-2016 06:24:08 Hola Edinson, esto lo puedes hacer muy facilmente por medio de Javascript nativo (no necesitas de JQuery), trabajando directamente con la propiedad del DOM "title", aquí te dejo el enlace a la documentación oficial de la W3C HTML DOM title Property
También he realizado un ejemplo 100% ejecutable para que puedas hacer tus pruebas, con el mismo podrás agregar un texto "x" al titulo original, como así también restablecerlo, creo que el código se explica por si solo, cualquier duda me consultas.
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Hello PHPCentral!</title> <script type="text/javascript"> var tituloOriginal = ''; function agregarAlTitulo(textoAgregar) { if (tituloOriginal === '') { tituloOriginal = document.title; } document.title = tituloOriginal + ' - ' + textoAgregar; } function restablecerTitulo(){ if (tituloOriginal !== '') { document.title = tituloOriginal; } } </script> </head> <body> Agregar al titulo: <input id="txtTitulo" type="text" placeholder="escriba un texto"/> <input type="button" onclick="agregarAlTitulo(document.getElementById('txtTitulo').value);" value="Agregar" /> <input type="button" onclick="restablecerTitulo();" value="Reset Titulo" /> </body> </html>
Aquí te dejo el enlace a la demo online: http://www.phpcentral.com/ejemplos/javascript/cambiar_titulo.php
Saludos y buen código! Votos: 2 - Link respuesta -
Fecha: 25-02-2016 09:46:46 Hola Fernado,
Gracias por tu código funciona de maravilla pero no me ha resulto mi duda eso es algo que sabia si lees un poco la pregunta es titulo cambiante automaticamente no se como lo podria hacer es un sistema que recibe notificaciones y quiero que cambie el titulo cada X segundos cuando el usuario no esta en la pestaña y recibe un mensaje. Votos: 1 - Link respuesta -
Fecha: 25-02-2016 10:35:11 Bien, si queres que el usuario se notifique de un cambio puedes tomar 3 caminos:
1) Sockets: el servidor se conecta con el cliente por medio de un socket y notifica por ese medio de los cambios en el servidor.... deberás tener habilitado los sockets para PHP (tipicamente deshabilitado en la mayoria de los servidores que he trabajo).
2) Peticiones AJAX periodicas: una solución rapida y funcional pero no optima para una gran cantidad de usuarios, ya que el servidor estará recibiendo muchas peticiones innecesarias..... básciamente cada x tiempo le preguntas por AJAX (peticiones GET) al servidor si hay nuevas notificación, de haberlas las devuelves, de lo contrario no haces nada.
3) Comet: también puede que lo encuentres como Ajax Push, Reverse Ajax, Two-way-web, HTTP Streaming, HTTP server push, entre otros, básicamente es una técnica que utiliza las tecnologías habituales (Javascript, PHP, HTTP) para que cada cliente mantenga una conexión abierta con el servidor por un tiempo indefinido, y cuando el server tenga alguna novedad (como ser un nuevo mensaje) se lo informe al cliente por esta vía (haciendo un push).
Te recomiendo que investigues el punto 3), en una época era utilizado por Google Talk y funcionaba muy bien.... yo implemente un chat por medio de comet, a modo de laboratorio para investigar la tecnología, funcionaba bastete bien (Walter Sánchez colaboro en parte de ese proyecto, seguramente el lo recordará con el mismo aprecio que yo), pero por motivos de configuración de cache en el servidor nginx que utilizo se me cerraban las conexiones de forma inesperada y finalmente abandone el trabajo... (en algun momento veré de retomarlo y posiblemente sea el chat de esta comunidad....).
Saludos, Votos: 2 - Link respuesta -
Fecha: 25-02-2016 12:15:22 Si por ahora lo hago por Ajax ya que solo es un pequeño chat de soporte después importare socket.
Pero lo que quiero es que cuando él recibe del servidor el valor true(ya lo tengo desarrollado).
Y no se encuentre en la pestaña sé que se hace con $([windows, document]).focus o algo así apenas unos días lo vi y me pareció interesante que cuando el usuario cambia de pestaña cambiaba el título para que el usuario volviera, y cuando estaba en la pestaña ponía de nuevo el título original.
Lo que quiero es eso sí el usuario no está en la pestaña no solo me muestre la notificación (como ya lo había puesto en este Post anterior), también ponga una advertencia tipo intermitente como Facebook que muestra el usuario X te escribió y el título normal y así hasta que llegamos ala pestaña.
Saludos Votos: 1 - Link respuesta -
Fecha: 28-02-2016 04:32:53 Buenos días, la pregunta sería como refrescar periodicamente datos sin que el cliente tenga que refrescar la página. Una manera, setInterval o setTimeout, desaconsejable.
La respuesta la dió Fernando pero se puede hacer en cierta medida con PHP utilizando websocket en php. Se utiliza JavaScript o jQuery para utilizar este websocket realizado enteramente con php y utilizando código php.
Para bajar el ws servidor y los ejemplos de como utilizarlo, bajate los archivos de https://github.com/ghedipunk/PHP-Websockets.
Hay muchos y creo que ese es el más simple de todos.
Una vez que lo tengas hecho, creas un cron job con el archivo que "enciende" el servidor y queda a la escucha de lo que venga de los clientes y desde el servidor, envía al cliente que corresponda o a todos los mensajes necesarios.
No hay mucha info, tendría que visitar la página http://www.rfc-base.org/rfc-6455.html la cual explica el estandar de un ws para realizarlo en cualquier otro lenguaje.
Usar Node.js, el problema es que el hosting tiene que tener instalado un servidor node y no todos lo tienen o buscarte un hosting que lo tenga instalado.
Estoy casi terminando un sistema que necesita información en tiempo real y lo hice con websocket. Esta hecho en php con jquery para los mensajes enviados y recibidos por parte del cliente.
Si querés, te puedo dar una mano porque parece que es algo sencillo. En Internet hay ejemplos (casi todos por no decir todos, son chat), el cual a mi me servía de muy poco.
En conclusión, y volviendo a la respuesta de Fernando, hay que utilizar socket, cual o que tipo o con cual lenguaje, queda a tu criterio
Saludos
DIEGO Votos: 2 - Link respuesta -
Fecha: 28-02-2016 06:17:02 Hola,
Gracias por tu respuesta, pero no viene al caso todo eso ya lo tengo listo lo que quiero es cambiar el título como lo hace Facebook cuando llega un mensaje como modo de alerta. Que hace un bucle mientras uno está en otra pestaña diferente ala de Facebook.
——————————————
Ejem.
Nuevo mensaje de Edinson.
(1) Facebook
Nuevo mensaje de Edinson
-——————————————
Y así sucesivamente hasta que estés en la página. Y quiero saber cómo hacer ese bucle.
Saludos Votos: 1 - Link respuesta -
Fecha: 28-02-2016 15:23:54 Hola Diego, es correcto, siempre puedes compilarlo con el soporte para socket, aquí esta el detalle en php.net http://php.net/manual/es/sockets.installation.php, no suelo considerar este punto porque casi nunca tengo este soporte habilitado en los servidores de mis clientes.
Las funciones de socket descritas aquí son parte de una extensión de PHP que debe ser habilitada en tiempo de compilación dando la opción --enable-sockets a configure.
Interesante el método que comentas, por medio de ese codigo de terceros, sabes como funciona? si hay que habilitar alguna librería en PHP y/o si es pago? (tipo de licencia?).
Nunca hay que olvidar que el uso de socket implica la configuración de nuestros firewalls.... no todo es tan simple como parece.... por eso me gusto mucho el uso de Comet, Ajax Push, Reverse Ajax, Two-way-web, HTTP Streaming, HTTP server push, entre otros..., ya que siempre será puerto 80 y http o https...
Muchas gracias por todas las respuestas, hay mucho valor en esta comunicación.
Saludos! Votos: 0 - Link respuesta -
Fecha: 29-02-2016 01:30:08 Hola, Fernando, no tenés que habilitar nada, la librería es libre. Es como un programa más dentro del proyecto. Lo que si hay que tener en cuenta es que no se le puede dar mucha sobrecarga de trabajo, es decir, tratar de que no tenga acceso a la bbdd o realizar alguna operación compleja. Utilizarlo como "mensajeador" entre clientes. Cuando le agarrás la mano, es muy fácil de utilizar. En mi caso particular, me sirvió porque tenía el proyecto casi terminado y otra opción que no sea esa era practicamente reescribir todo; además de lo que comenté es que tenía que conseguir un hosting que corriera Node, en mi caso particular. Lo de Comet, lo leí pero muy por arriba. En el caso de websocket, también tenés posibilidad de utilizar encriptación en la comunicación como https.
A mi me resultó interesante, otra opción más
Saludos Votos: 1 - Link respuesta
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
