2013-11-29 19 views
15

È possibile aprire una nuova scheda nel browser utilizzando la funzione window.open("http://www.google.com");, ma aprirla in background e rimanere sulla pagina corrente? quando si fa clic nel collegamento ipertestuale nella pagina verranno stesso, ma link viene aperto in una nuova scheda ...Aprire una nuova scheda con javascript ma rimanere nella scheda corrente utilizzando javascript

provo questa soluzione, ma funzionano solo in Firefox link ma voglio fare in tutti i browser.

risposta

0

Usa window.open()

var win = window.open('http://stackoverflow.com/', '_blank'); 
if(!win) 
{ 
//Broswer has blocked it 
alert('Please allow popups for this site'); 
} 

JSFilder

5

Come confermato in entrambi: source1 source2

non c'è una funzione che funziona in tutti i browser. Ci sono opzioni per i popup, ma questa non è una buona idea in quanto molti usano i blocchi dei popup.

Per reiterare la prima fonte, è un'impostazione del browser per ciascun utente che decide di aprire una nuova scheda in background, oppure no. E poiché gli utenti decidono questo nelle loro impostazioni del browser, otterrai esperienze incoerenti.

+2

Ho cercato per ~ 60 minuti sul tema di aprire una nuova scheda non concentrato e questo è l'unico vera risposta valida su questo argomento a partire da novembre 2017! – poitroae

2

prova a seguire può essere utile

<button id="open">open</button> 

document.getElementById('open').onclick = function() { 
    window.open('http://google.com'); 
}; 

Nota: Puoi schede non aperte in background utilizzando javascript, perché questo è impostato nelle preferenze dell'utente in about: config, che si ha alcun controllo al di sopra di. L'impostazione in about: config in Firefox è:

È possibile solo se si genera l'evento Click con il tasto di controllo già premuto Dinamicamente.

ad es. Ctrl + Click aprirà sempre una nuova scheda e ti manterrà nella scheda corrente.

browser.tabs.loadDivertedInBackground = true

+1

Grazie a @Pippin per la revisione –

0

provare questo codice

window.open(url,'_blank'); 
Problemi correlati