A veces, mientras navego, presiono Ctrl y hago clic en un enlace para abrirlo en una pestaña nueva. Sin embargo, en lugar de abrir en una nueva pestaña, se hace clic y se navega en la pestaña actual como si hubiera hecho clic normalmente sin mantener presionada la tecla Ctrl. Estoy seguro de que estoy manteniendo presionada la tecla Ctrl y que no hay fallas en el teclado o el mouse.
Ocasionalmente, se abrirá una nueva pestaña con el enlace, pero la pestaña actual también buscará el enlace simultáneamente.
firefox
keyboard-shortcuts
browser
browser-tabs
Coldblackice
fuente
fuente
onclick
operación que podría interferir con el Ctrl + clic. ¿Puedes dar un ejemplo específico? meta.stackoverflow.com/questions/276138/…<a class="primary" href="/superuser//congress" onclick="var x=".tl(";s_objectID="http://www.nationaljournal.com/congress_1";return this.s_oc?this.s_oc(e):true">Congress</a>
href
atributo, el evento onclick lo sobrescribe.Respuestas:
JavaScript detrás de escena
Esto sucede cuando los desarrolladores de tales páginas web interceptan los clics del mouse con JavaScript y realizan solicitudes de red asincrónicas dentro del interceptor, potencialmente para rastrear sus clics. Cuando vuelve la llamada de red asíncrona, el JS realiza una redirección programática usando algo como:
window.location.href = url;
Esta redirección programática siempre cargará la página en la misma pestaña, incluso si mantiene Ctrl( Cmden Mac).
Use MiddleMouse para anular
Al hacer clic en el botón central del mouse o seleccionar 'abrir en una pestaña nueva' en el menú contextual, se omitirá por completo el código interceptor de JavaScript y se abrirá un enlace como si no hubiera ningún código JavaScript.
fuente
Escribí un complemento de Firefox (aburrido) llamado link-fixer para arreglar esto. Puede instalar desde addons.mozilla.org . Requiere Firefox 48.0 o posterior.
Citando a mi mismo:
Una vez instalado, no hay nada más que deba hacer. Puede presionar Ctrl + clic en cualquier enlace y se abrirá en una nueva pestaña. También resolverá la variación del problema que describe en su segundo párrafo.
fuente
Tomemos este enlace como ejemplo:
El
href
atributo, en este caso, es crear un pseudoenlace para facilitar la lectura (también permitirá que el enlace funcione incluso si JavaScript está deshabilitado). La razón de esto es porque elonclick
atributo siempre se ejecuta primero. Los grandes sitios como Google hacen esto para rastrear los clics e intentar evitar que un usuario visite sitios de malware. Debido a esto, por alguna razón, Ctrl+ Click no funciona. Sin embargo, si usa el botón central del mouse, eso casi siempre funciona.fuente