Javascript para rastrear si un clic abrió una nueva pestaña/ventana

En mi aplicación, cuando un usuario hace clic en cualquier enlace "a href", aparece un cuadro de diálogo de "carga" (esto es necesario por muchas razones más allá del alcance de esta pregunta). Algunos usuarios, sin embargo, abren algunos enlaces en nuevas pestañas/ventanas, por lo que el cuadro de diálogo "cargando" no debería mostrarse en la ventana de apertura. ¿Es posible rastrear de alguna manera con js?

preguntado el 12 de junio de 12 a las 11:06

puede rastrear el clic en el enlace vinculando el evento onclick y luego verificar el evento si el usuario hizo clic o no con el botón derecho o izquierdo del mouse para deducir si mostrar o no el cuadro de diálogo:

Bueno, algunas personas hacen clic derecho y eligen una opción del menú emergente para abrir un enlace en una nueva pestaña. Esto termina en un clic normal :( -

Deseo que coloque la parte del código JS que maneja el evento de clic, tal vez podamos tener una idea para modificar para encontrar una solución, de todos modos, también debe manejar el clic del botón central: D, mi idea es devolver falso cuando alguien haga clic con el botón derecho en el enlace así que evita que haga eso, y mantén presionado el botón central así o encuentra una manera de mostrar el diálogo. -

@Al-Mothafar, me enojaría si un sitio web impidiera hacer clic con el botón derecho. -

@dqhendricks a mí también, pero no quise decir en todos los sitios web, quise decir solo en los enlaces, de todos modos, puede usar el complemento noScript para pasar eso: P -

1 Respuestas

¿Algo como esto?

$( 'a' ).click( function( e ) {
   if ( e.which === 1 ) {
      showLoadingDialog();
   }
} );

Solo muestra el cuadro de diálogo de carga si se hace clic con el botón izquierdo del mouse.

Respondido el 12 de junio de 12 a las 18:06

dijo que ya tiene eso, tiene un código para manejar el clic izquierdo y mostrar el diálogo, solo quiere manejar el botón derecho y luego el método Nueva pestaña para mostrar el diálogo. - Al Mothafar

El enfoque que sugirió es correcto, he invertido la lógica, es decir, mostrar el mensaje de carga solo cuando se hace clic en el botón izquierdo del mouse y no mostrar el mensaje en todos los demás casos. - clops

@Al-Mothafar esto no es exactamente lo que tenía. Estaba mostrando la imagen de carga en todos los casos. El código anterior le permite mostrar solo la imagen de carga en el caso de un clic izquierdo (y no el derecho/otro clic). - dqhendricks

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.