none
inhabilitar botones de adelante atras del IE con javascript

    Pregunta

  • tengo una aplicacion la cual quiero inhabilitar los botones de alante y atras mediante javascript, el problema es que solo me lo realiza en la primera pantalla, al pasar a otras no lo hace, la aplicacion es MVC, no se cual es el motivo el codigo esta incluido en todas las view por igual. dejo mi codigo de la pantalla en la que funciona y otro en la que no.

    funciona:

    @Code
        ViewData("Title") = "Inicio"
    End Code
    
    <h2>Inicio</h2>
    
    <script language="JavaScript" type="text/javascript">
        var urlSalida = '@Url.Action("Log_AplicacionSalida", "C_DAO")';
        
    
        /*setTimeout("disableBackButton()", 0);*///elimina volver atras
    
        $(window).on('mouseover', (function () {
            window.onbeforeunload = null;
        }));
    
        $(window).on('mouseout', (function () {
            window.onbeforeunload = ConfirmLeave;
        }));
    
    function ConfirmLeave() {
    
         
        $.get(urlSalida);
        alert("va a salir de la pagina");
        
        window.open('javascript:window.open("", "_self", "");window.close();', '_self');
    
        }
    
        //function disableBackButton() {
        //    window.history.forward();
            
        //}
       
        var prevKey = "";
        $(document).keydown(function (e) {
            if (e.key == "F5") {
                window.onbeforeunload = null;
            }
            else if(e.key.toUpperCase() == "W" && prevKey == "CONTROL") {
                window.onbeforeunload = null;
            }
            else if (e.key.toUpperCase() == "R" && prevKey == "CONTROL") {
                window.onbeforeunload = null;
            }
            else if (e.key.toUpperCase() == "F4" && (prevKey == "ALT" || prevKey == "CONTROL")) {
                window.onbeforeunload = null;
            }
            prevKey = e.key.toUpperCase();
        });
      
    
    </script>
    
    
    
    
    

    pantalla que es la siguiente y se accede desde la que funciona mediante un enlace :

    @ModelType PagedList.IPagedList(Of CHJ.InventarioAplicacionesMVC.APP_Aplicacion)
    @Imports  PagedList.Mvc
    @Code
        ViewData("Title") = "Inventario Aplicaciones"
    End Code
    
    <h2>Inventario Aplicaciones</h2>
    
    
    
    
    @Using (Html.BeginForm())
    
        @<fieldset>
        <legend></legend>
        <p>
            @Html.TextBox("searchString", ViewBag.currentFilter, New With {.placeholder = "Texto a Buscar"})
            <input type="submit" value="Buscar" class="boton" />
    
    
        </p>
    
        <br />
    
        <input type="submit" name="boton" value="Nueva Aplicacion" class="boton" />
    
    
        <br />
        <br />
    
        <div class="div1">
    
            <table>
                <tr>
                    <th></th>
                    <th></th>
                    <th></th>
                    <th></th>
                    <th></th>
                    <th>
                        @Html.ActionLink("Nombre", "Index", New With {.sortOrder = ViewBag.order1, .currentFilter = ViewBag.CurrentFilter})
                    </th>
                    <th>
                        @Html.ActionLink("Tipo", "Index", New With {.sortOrder = ViewBag.order1, .currentFilter = ViewBag.CurrentFilter})
                    </th>
                    <th>
                        @Html.ActionLink("Estado", "Index", New With {.sortOrder = ViewBag.order1, .currentFilter = ViewBag.CurrentFilter})
                    </th>
    
    
                </tr>
    
                @For Each item In Model
                    @<tr>
                        <td>@Html.ActionLink("Incidencias", "Incidencias", New With {.id = item.APP_IdAplicacion}, New With {.title = "Incidencias", .class = "boton_incidencias"})</td>
                        <td>@Html.ActionLink("Delete", "Delete", New With {.id = item.APP_IdAplicacion}, New With {.title = "Borrar", .class = "boton_borrar"})</td>
                        <td>@Html.ActionLink("Details", "Details", New With {.id = item.APP_IdAplicacion}, New With {.title = "Detalles", .class = "boton_ver"})</td>
                        <td>@Html.ActionLink("Edit", "Edit", New With {.id = item.APP_IdAplicacion}, New With {.title = "Editar", .class = "boton_editar"})</td>
                        <td>@Html.ActionLink("GrupoSeguridad", "GrupoSeguridad", New With {.id = item.APP_IdAplicacion}, New With {.title = "Ver grupos de seguridad", .class = "boton_seguridad"})</td>
    
                        <td>
                            @Html.DisplayFor(Function(modelItem) item.APP_Nombre)
                        </td>
    
                        <td>
                            @Html.DisplayFor(Function(modelItem) item.ATA_AuxTipoApp.ATA_Descripcion)
                        </td>
    
                        <td>
                            @Html.DisplayFor(Function(modelItem) item.AEA_AuxEstadoApp.AEA_Descripcion)
                        </td>
    
    
    
    
                    </tr>
                Next
    
            </table>
    
        </div>
        Page @IIf(Model.PageCount < Model.PageNumber, 0, Model.PageNumber) of @Model.PageCount &nbsp &nbsp &nbsp &nbsp      Aplicaciones activas &nbsp @Model.TotalItemCount
        @Html.PagedListPager(Model, Function(page) Url.Action("Index",
                                                                                                                                                                                                                                                                                                                             New With {page, .sortOrder = ViewBag.CurrentSort, .bReferencia = ViewBag.bReferencia, .bReferenciaS = ViewBag.bReferenciaS, .bReferenciaC = ViewBag.bReferenciaC, .bInteresado = ViewBag.bInteresado, .bMunicipio = ViewBag.bMunicipio, .bProvincia = ViewBag.bProvinciaS, .bAsunto = ViewBag.bAsunto, .bSituacion = ViewBag.bSituacionS, .bAlerta = ViewBag.bAlertaS, .bFecha = ViewBag.bFecha}))
    
        <script language="JavaScript" type="text/javascript">
        var urlSalida = '@Url.Action("Log_AplicacionSalida", "C_DAO")';
    
        setTimeout("disableBackButton()", 0);///elimina volver atras
        //window.history.back();
        //window.history.forward();
    
    
        $(window).on('mouseover', (function () {
            window.onbeforeunload = null;
        }));
    
        $(window).on('mouseout', (function () {
            window.onbeforeunload = ConfirmLeave;
        }));
    
    function ConfirmLeave() {
    
    
        $.get(urlSalida);
        alert("va a salir de la pagina");
    
        window.open('javascript:window.open("", "_self", "");window.close();', '_self');
    
        }
    
        function disableBackButton() {
            window.history.forward();
    
        }
    
        var prevKey = "";
        $(document).keydown(function (e) {
            if (e.key == "F5") {
                window.onbeforeunload = null;
            }
            else if(e.key.toUpperCase() == "W" && prevKey == "CONTROL") {
                window.onbeforeunload = null;
            }
            else if (e.key.toUpperCase() == "R" && prevKey == "CONTROL") {
                window.onbeforeunload = null;
            }
            else if (e.key.toUpperCase() == "F4" && (prevKey == "ALT" || prevKey == "CONTROL")) {
                window.onbeforeunload = null;
            }
            prevKey = e.key.toUpperCase();
        });
    
    
        </script>
    
    
    
    
    </fieldset>End Using
    
    
    

    ¿debo incluirlo en otra parte del codigo de la vista?

    jueves, 7 de junio de 2018 15:48