una - javascript abrir nueva ventana
Abrir URL en la misma ventana y en la misma pestaña (13)
¿Tienes que usar window.open
? ¿Qué pasa con el uso de window.location="http://example.com"
?
Quiero abrir un enlace en la misma ventana y en la misma pestaña que contiene la página con el enlace.
Cuando intento abrir un enlace usando window.open
, se abre en una nueva pestaña, no en la misma pestaña en la misma ventana.
Abre otra url como un clic en el enlace
window.location.href = "http://example.com";
Con html 5 puedes usar la API de historial .
history.pushState({
prevUrl: window.location.href
}, ''Next page'', ''http://localhost/x/next_page'');
history.go();
Luego en la página siguiente puede acceder al objeto de estado como tal
let url = history.state.prevUrl;
if (url) {
console.log(''user come from: ''+ url)
}
Eso es bastante fácil. Abrir la primera ventana como window.open(url, <tabNmae>)
Ejemplo: window.open("abc.com",''myTab'')
y para la próxima ventana abierta, use el mismo nombre de pestaña en lugar de _self
, _parent
etc.
Esto es fácil de hacer con
window.location.replace("http://www.w3schools.com");
Exactamente como este window.open("www.youraddress.com","_self")
Necesitas usar el atributo de nombre:
window.open("https://www.youraddress.com","_self")
Edición : Url debe ser precedida con el protocolo. Sin ello se intenta abrir la url relativa. Probado en Chrome 59, Firefox 54 e IE 11.
Puede hacer que vaya a la misma página sin especificar la url:
window.open(''?'',''_self'');
Si tiene sus páginas dentro del "marco", entonces "Window.open (''logout.aspx'', ''_ self'')"
Será redirigido dentro del mismo cuadro. Así que usando
"Window.open(''logout.aspx'',''_top'')"
Podemos cargar la página como nueva solicitud.
Una de las características más destacadas de javascript es disparar a los manejadores sobre la marcha. El siguiente mecanismo me pareció más confiable que usar location.href=''''
o location.reload()
o window.open
:
// this function can fire onclick handler for any DOM-Element
function fireClickEvent(element) {
var evt = new window.MouseEvent(''click'', {
view: window,
bubbles: true,
cancelable: true
});
element.dispatchEvent(evt);
}
// this function will setup a virtual anchor element
// and fire click handler to open new URL in the same room
// it works better than location.href=something or location.reload()
function openNewURLInTheSameWindow(targetURL) {
var a = document.createElement(''a'');
a.href = targetURL;
fireClickEvent(a);
}
El código anterior también es útil para abrir una nueva pestaña / ventana y evitar todos los bloqueadores de elementos emergentes. P.ej
function openNewTabOrNewWindow(targetURL) {
var a = document.createElement(''a'');
a.href = targetURL;
a.target = ''_blank''; // now it will open new tab/window and bypass any popup blocker!
fireClickEvent(a);
}
Utilizar esta:
location.href = "http://example.com";
window.open(url, wndname, params)
, tiene tres argumentos. Si no desea que se abra en la misma ventana, simplemente configure un nombre de usuario diferente. como :
window.open(url1, "name1", params); // this open one window or tab
window.open(url1, "name2", params); // though url is same, but it''ll open in another window(tab).
¡Aquí están los detalles sobre window.open()
, puedes confiar en ello!
https://developer.mozilla.org/en/DOM/window.open
tener un intento ~~
Just Try in button.
<button onclick="location.reload();location.href=''url_name''"
id="myButton" class="btn request-callback" >Explore More</button>
Using href
<a href="#" class="know_how" onclick="location.reload();location.href=''url_name''">Know More</a>