2010-09-17 14 views
10

Me gustaría crear una página web con navegador específico en JavaScript.¿Es posible agregar un código de navegador en javascript

Por ejemplo:

puedo usar un código como éste en mi parte de codificación

chrome.tab.onRemoved.addListener() en mi página web.

Si es posible, por favor sugiérame.

+0

Se puede decir exactamente lo que estás tratando de acheive? – Nivas

+0

necesito atrapar el evento de cierre de pestaña o de navegador, para preguntar al cliente antes de cerrar. –

+0

Ver mi respuesta a continuación. – Nivas

Respuesta

11

¿Qué es exactamente lo que intenta obtener?

Si desea saber cuándo está cerrada la pestaña en la que está cargada su página web, entonces window.onunload debería ayudarlo.

Si desea saber cuándo está cerrada otra página web, no puede hacerlo.

ACTUALIZACIÓN:
Usted ha dicho que quiere saber cuando el usuario cierra el navegador o pestaña. Esto no es posible.

Pero para su propósito (obtener comentarios), creo que todo lo que necesita es diferenciar si el usuario está navegando a un enlace en su página, o si el usuario está escribiendo otra URL (o haciendo clic en un favorito).

Creo que su necesidad, ya sea que el usuario cierre el navegador o escriba otra URL, es la misma: el usuario está navegando fuera de su sitio y en ese momento dice que desea recopilar comentarios.

Esto se puede hacer en javascript.

Para todos los clics en su página que podría conducir a una actualización de la página (hipervínculos, botones, ...), establecer un indicador.
En window.onunload, verifique si está marcada esta bandera.
- Si está configurado, entonces el usuario ha hecho clic en un enlace en su página , no haga nada.
- Si la bandera no está configurada en , entonces el usuario está navegando, tiempo para recopilar comentarios.

Dejarme saber si esto funcionaría.

PD: Tenga en cuenta que las ventanas emergentes/cualquier distracción durante la descarga de la ventana pueden ser muy molestas. Entiendo que probablemente estos sean los requisitos que se le brindan. Pero si es posible, intente con otros mecanismos para recopilar comentarios (voluntarios) del usuario.

+0

Solo necesito saber si el usuario está cerrando la página o simplemente navegando. En window.onunload y window.onbeforeunload, los eventos activan toda la navegación y también cierran el evento. En particular, necesito encontrar el evento de cerrar navegador o ventana. –

+0

No creo que sea posible ver si el usuario está cerrando la ventana o no. Pero para su propósito, creo que es suficiente para ver si el usuario está navegando a través de algún enlace en su página, o si el usuario ha escrito otra URL (o ha hecho clic en un marcador) para navegar fuera de su página. Han actualizado la respuesta con una posible solución. – Nivas

+0

Se suponía que era una retroalimentación "voluntaria", por cierto. – Nivas

2

No, no puede acceder a las API específicas de la extensión desde las páginas web.

2

El objeto Navigator contiene toda la información sobre el navegador del visitante.

https://developer.mozilla.org/en-US/docs/Web/API/Window.navigator

creo que esto es más o menos en la medida de lo que es posible en términos de interacción con el navegador específico. No puede acceder a otras pestañas (por razones de seguridad) o indicar cuándo se cierra una pestaña.

1

Puede utilizar utilizar el evento onbeforeunload:

<html> 
    <head> 
    <script> 

    var exit = 1; 

    function handleClose() 
    {  
     if (exit) 
     { 
      alert("Closing"); 
     } 
    } 

    </script> 
    </head> 
    <body onbeforeunload="handleClose()"> 
    <a href="test.html" onclick="exit=0">Navigate to other page</a> 
    </body> 
</html> 
+0

Eso es para la pestaña donde se ejecuta el script, no le dice si se cierra otra pestaña ... –

+1

No puede averiguar si alguna otra pestaña está cerrada, no es relevante para su sitio. No puede hacer esto porque será una infracción de seguridad del navegador. –

Cuestiones relacionadas