Estoy tratando de cerrar el navegador de Windows actual y abrir uno nuevo. Actualmente, abre una nueva ventana en cada clic que no es correcta.
¿No estoy seguro de dónde estoy haciendo mal en esto?
¿Puede alguien señalarme la dirección correcta?
<div id="oWrapper" style="display: none;"> <div id="oIn"></div> </div> $(document).ready(function () { var isIE = false || !!document.documentMode; if (isIE) { var tURL = 'microsoft-edge:' + '@Url'.replace(/amp;/g, ''); var openE = document.querySelector('#oIn'); openE.href = 'microsoft-edge:' + document.URL; var oWrapper = document.querySelector('#oWrapper'); oWrapper.style.display = 'block'; window.location.replace(tURL); } else { var params = [ 'height=' + screen.height, 'width=' + screen.width, 'scrollbars=yes', 'resizable=yes', 'location=no' ].join(','); var Obj; function ModalPopUp() { Obj = window.open('@Url'.replace(/amp;/g, ''), "_blank", params); Obj.moveTo(0, 0); Obj.focus(); LoadModal(); } function LoadModal() { var Div = document.getElementById("oIn"); Div.style.display = "block"; } function OnUnload() { if (false == Obj.closed) { Obj.close(); } } window.onunload = OnUnload; ModalPop(); } });Parece que solo intentas Obj.cerrar en window.onunload, en lugar de antes de que se abra un nuevo modal.
Probar:
function ModalPopUp() { if (Obj) Obj.close(); // close existing modal if it exists Obj = window.open('@Url'.replace(/amp;/g, ''), "_blank", params); Obj.moveTo(0, 0); Obj.focus(); LoadModal(); }