window.close cierra la página actual

El navegador está bajo consideraciones de política de seguridad, y solo permite que Javascript cierre la página abierta por javascript. Para cerrar la ventana actual con js, podemos considerar esta forma. Esta es también la práctica más común.

<a href="javascript:;" onclick='xx()'>fdsafas</a>
function xx(){
    // 重置window.opener用来获取打开当前窗口的窗口引用
  // 这里置为null,避免IE下弹出关闭页面确认框
    window.opener = null;
    // JS重写当前页面
    window.open("", "_self", "");
    // 顺理成章的关闭当前被重写的窗口
    window.close();
}

La explicación del extranjero original sobre stackoverflow:

Por razones de seguridad, una ventana solo se puede cerrar en JavaScript si fue abierta por JavaScript. Para cerrar la ventana, debe abrir una nueva ventana con  _self como destino, que sobrescribirá su ventana actual, y luego cerrará esa (lo que puede hacer ya que se abrió a través de JavaScript).

También se adjunta otra solución:

window.open('javascript:window.open("", "_self", "");window.close();', '_self');

 El javascript incrustado: window.open ("", "_self", ""); es para evitar que IE muestre un cuadro de cierre de confirmación, que es equivalente a restablecer window.opener

FireFox tiene soporte incorporado para window.close, pero debido a su propia configuración, JS no puede cerrar ventanas por sí mismo, por lo que los usuarios deben modificar manualmente el valor de dom.allow_scripts_to_close_windows en about: config a true, y luego resolver el problema de acuerdo con las ideas anteriores.

 

En muchos casos, los usuarios no modificarán manualmente la configuración de FireFox. También hay un método de compromiso. Cambiar el comportamiento de "close" a "location.href" salta solo para FireFox.

function xx(){
    location.href = "about:blank";
}

En resumen, la parte JS se puede modificar de la siguiente manera:

var xx = navigator.userAgent.indexOf("Firefox") > -1 ? 
    function(){location.href = "about:blank";}
    :
    function(){
        window.opener = null;
        window.open("", "_self", "");
        window.close();
    };

Supongo que te gusta

Origin blog.csdn.net/AN0692/article/details/105832124
Recomendado
Clasificación