¿Cómo puedo abrir una nueva pestaña usando javascript sin cambiar a la nueva pestaña?
Por ejemplo, cuando un usuario hace clic en un enlace, se abre una nueva pestaña, pero el usuario debe permanecer en la pestaña actual.¿Cómo abrir una nueva pestaña en JavaScript sin cambiar a la nueva pestaña?
Respuesta
El navegador web se centra automáticamente en la nueva pestaña, pero se puede llamar la atención de nuevo:
function openWindow(url)
{
window.open(url, '_blank');
window.focus();
}
<a href="http://www.example.com/" onclick="javascript:openWindow(this.href);return false;">Click Me</a>
Desafortunadamente, actualmente no puede hacer eso, pero puede acercarse. Puede abrir una nueva ventana , y si lo hace sin especificar ninguna dimensión de ventana o característica de ventana, la mayoría de los navegadores modernos abrirán una nueva pestaña (dependiendo de las preferencias del usuario, pero luego desea hacer lo que el usuario prefiera) de todos modos, ¿verdad?). Así que solo window.open(url)
o window.open(url, name)
si va a usar el nombre para algo. Asegúrese de hacer esto en respuesta directa a un evento iniciado por el usuario, de lo contrario, el bloqueador de pop-ups del navegador probablemente ... bloqueará la ventana emergente. :-)
cuanto a mantenimiento de enfoque en la ventana ... buena suerte con eso. Puede llamar al window.focus()
después del window.open(...)
, pero en mi experiencia, por lo general, no funciona.
Lanzándolo por ahí: Si haces lo que el usuario interactúa con una relación auténtica con una URL, el usuario puede decidir si desea abrirlo en una nueva pestaña, una nueva ventana, lo que sea y si hay que darle enfoque (si son lo suficientemente sofisticados como para saber Mayús + clic y Ctrl + Mayús + Clic, o el menú del botón derecho).
Tenga en cuenta que en el IE, este se abre en una nueva ventana, no una nueva pestaña. – josh3736
@ josh3736: Eso depende de qué versión de IE estés usando y, en versiones más nuevas, de tus configuraciones. –
Olvidé que había cambiado esa configuración en IE9. Específicamente, 'window.open()' causa una nueva pestaña en IE, a menos que se cambien Opciones> Configuración de pestañas> "Permitir que el IE decida cómo deben abrirse los elementos emergentes". – josh3736
Esta es la configuración específica del usuario, no puede cambiar este comportamiento de JS.
Por desgracia, no se puede hacer esto en todos los navegadores, pero se puede hacer esto en Chrome si implementar la extensión del navegador. cómo manipular con pestañas en Chrome mediante javascript:
http://code.google.com/chrome/extensions/tabs.html
chrome.tabs.create(object createProperties, function callback)
Creates a new tab. Note: This function can be used without requesting the 'tabs' permission in the manifest.
Parameters
**createProperties** (object)
**windowId** (optional integer)
The window to create the new tab in. Defaults to the current window.
**index** (optional integer)
The position the tab should take in the window. The provided value will be clamped to between zero and the number of tabs in the window.
**url** (optional string)
The URL to navigate the tab to initially. Fully-qualified URLs must include a scheme (i.e. 'http://www.google.com', not 'www.google.com'). Relative URLs will be relative to the current page within the extension. Defaults to the New Tab Page.
**selected** (optional boolean)
Whether the tab should become the selected tab in the window. Defaults to true
pinned (optional boolean)
Whether the tab should be pinned. Defaults to false
**callback** (optional function)
(function(a){
document.body.appendChild(a);
a.setAttribute('href', location.href);
a.dispatchEvent((function(e){
e.initMouseEvent("click", true, true, window, 0, 0, 0, 0, 0, true, false, false, false, 0, null);
return e
}(document.createEvent('MouseEvents'))))}(document.createElement('a')))
Post es antiguo, pero sin ninguna respuesta correcta al 100%.
solución para todos los navegadores:
puede abrir una nueva pestaña a mismo dominio URL a través de:
window.open("newurl.php", "_blank");
y para las nuevas pestañas de varios dominios, debe crear un script local sencillo, como esto:
en nuevo archivo "redirect.php" pasa un parámetro (meta nueva pestaña URL) como esto
<?php
$newURL=$_GET['u'];
header('Location: '.$newURL);
؟>
y puede crear una nueva pestaña con cualquier URL de destino con:
window.open("redirect.php?u=http://www.google.com", "_blank");
:)
es mi solución en mi página web.y trabajar con cualquier
Para mí, usando
window.open("https://stackoverflow.com");
funcionó a la perfección. Lo que haga esto depende de qué navegador esté usando, qué sistema operativo y sus preferencias personales.
Chrome, Internet Explorer y Firefox abrieron una nueva pestaña. Lo siento si esto no funciona para ti.
(acabo de dar cuenta que este es un hilo de edad)
- 1. enlaces ajax Abrir en una nueva pestaña
- 2. GVim: Abrir en una nueva pestaña
- 3. Evento de Javascript para "Abrir en una pestaña nueva"
- 4. JavaScript: location.href ¿abrir en una nueva ventana/pestaña?
- 5. Enganche "Abrir en nueva pestaña" y "Atrás"
- 6. cómo abrir la URL en una nueva pestaña de django?
- 7. Cómo abrir asp: HyperLink.NavigationUrl en una nueva pestaña
- 8. javascript window.location en la nueva pestaña
- 9. ¡Necesito abrir enlaces en una nueva pestaña en ie8!
- 10. Reasignación: ayuda en Vim para abrir en una nueva pestaña
- 11. ¿Abrir una nueva pestaña/ventana y escribirle algo?
- 12. Distinga el enlace abierto en la pestaña actual frente a la nueva pestaña
- 13. Abrir PDF en una nueva pestaña usando dompdf
- 14. encabezado de ubicación en una nueva pestaña
- 15. Rieles: Abrir enlace en una nueva pestaña (con 'link_to')
- 16. página abierta GWT en una nueva pestaña
- 17. Abra una nueva pestaña con javascript, pero quédese en la pestaña actual
- 18. javascript para nueva pestaña (CTRL + T), nueva ventana (CTRL + N)?
- 19. JavaScript: ¿Forzar IE a abrir una pestaña nueva en lugar de una ventana?
- 20. NERDTree abrir en una nueva pestaña, como última pestaña en gvim?
- 21. .click() evento cuando 'Abrir en pestaña/ventana nueva'
- 22. Abrir página en una nueva pestaña usando javascript window.open (elementName.elementValue) en la etiqueta de ancla
- 23. envíe un formulario en una nueva pestaña
- 24. ASP.Net Abrir nueva pestaña en el navegador de CodeBehind
- 25. selenio WebDriver: Abrir nueva pestaña en lugar de una nueva ventana
- 26. Cómo abrir una nueva ventana o pestaña mediante javascript en el buscador de Windows Phone 7
- 27. Detectar el movimiento a una nueva pestaña en Mobile Safari
- 28. ¿Cómo redirigir salida stdout a una nueva pestaña Vim?
- 29. Abra la href mailto enlace en una nueva pestaña/ventana
- 30. Abrir todos los enlaces externos abrir en una nueva pestaña aparte de un dominio
Re 'focus': No en mi experiencia. No con Chrome, de todos modos (http://jsbin.com/aboluk/2) - pero no son mucho daño al intentarlo. –
@ T.J.Crowder: Eso realmente funciona para mí en Chrome 15. – josh3736
@ josh3736: Eso es interesante. Todavía estoy en 14 (en Linux) y no es así. Entonces, básicamente: no puedes confiar en eso. :) –