none
Problemas con página en ASP y JavaScript. RegisterStartupScript en Internet Explorer RRS feed

  • Pregunta

  • Hola,

    Estamos desarrollando una aplicación web con Visual Studio 2010 usando .net 4.

    Dentro del desarrollo hemos instalado un servidor Windows 2008 R2 con IIS 7 y con un SQL Server 2008, para una vez hecho los desarrollos probar como funciona en un entorno semi-real.

    En el desarrollo una de las cosas que usamos es el RegisterStartupScript que se usa al finalizar la creación de un proyecto para que salga un mesaje que confirma si quiere crearlo o borrarlo.

    El caso es que en el equipo del desarrollador todo funciona perfectamente y se mensaje emergente aparece. Sin embargo cuando pasamos esto al servidor sucede una cosa curiosa:

    - Si lo probamos directamente con el navegador del servidor (IE 9) funciona bien.

    - Si lo problamos desde otro equipo de la red, un equipo diferente con IE (cualquier versión) esa ventana emergente nunca aparece. Sin embargo si probamos con Firefox o Chrome funciona perfectamente.

    No sabemos a que se debe que con navegadores como firefox o chrome salga la ventana emergente y sin embargo con IE no salga y por tanto nunca podemos confirmar la creación o borrado del proyecto. Y lo curioso es que en el servidor con IE si funciona. Es en cualquier otro equipo externo que no sea el servidor.

    ¿Alguien puede ayudarme? ¿Tiene algo que ver con la configuración de IIS 7? ¿Con lo permisos de las carpetas? ¿Con el SQL Server?

    Por favor, espero vuestras respuestas.

    Aquí os pongo el código que me pasó el desarrollador y que está usando para esa ventana:

    JAVA
    ====
    <script type="text/javascript">

            function openDialog() {
                var dialog = $find("<%= RadWindow1.ClientID %>");
                dialog.show();
            }

        </script>


    CODE BEHIND
    ===========

    Protected Sub btnCancelProject_Click(sender As Object, e As System.EventArgs) Handles btnCancelProject.Click

       ClientScript.RegisterStartupScript(Me.[GetType](), "callWin", "<script type='text/javascript'>window.onload = openDialog;</script>")

    End Sub

    Muchas gracias por vuestra ayuda.

    Jorge

    • Cambiado Enrique M. Montejo jueves, 16 de febrero de 2012 6:31 desarrollo web (De:Lenguaje VB.NET)
    miércoles, 15 de febrero de 2012 13:19

Respuestas

  • 1. Recuerda que ejecucion de script para internet explorer puede estar habilitado para los administradores y no para los usuarios en general, debera consultar con el administrador de red para verificar que no lo haya deshabilitado por GPO.

    2. Si te trabaja bien en el servidor, se descarta la idea de determinar si el navegador es internet explorer, algo como esto

    // Detectar si el navegador es Internet Explorer
    var ie = navigator.userAgent.toLowerCase().indexOf('msie')!=-1;
     
    if(ie) {
      // implementar codigo para internet explorer
    }
    else {
      // determinar que navegador es he implementar codigo para el navegador expecifico}
    
    3. Como trabaja bien en otros navegadores se descarta la idea de habilitar puerto en el firework 


    Angel R. Jimenez G.
    Software Development
    Santo Domingo
    Republica Dominicana
    Blog

    jueves, 16 de febrero de 2012 0:34

Todas las respuestas

  • Por lo general WS2008 viene con la ejecucion de script para internet explorer deshabilitado, habilitalo

    Imagen I, en el administrador de servidores

    Imagen II, debera habilitar tanto para internet como para intranet local en la configuracion de internet explorer


    Angel R. Jimenez G.
    Software Development
    Santo Domingo
    Republica Dominicana
    Blog

    miércoles, 15 de febrero de 2012 15:02
  • hola

    intenta no usando ClientScript usa el ScriptManager

    como lo uso aqui

    [ASP.NET] - JavaScript alert() y confirm()

    valida ademas sino se produce un error de javascript

    How to view javascript errors in Internet Explorer 7

    saludos


    Leandro Tuttini

    Blog
    Buenos Aires
    Argentina

    miércoles, 15 de febrero de 2012 15:06
  • Hola Ángel,

    Gracias por la respuesta, pero realmente no tengo muy claro que vayan por ahí los tiros. No tengo problemas en el navegador del servidor. En concreto es en el IE del servidor en el único sitio donde funciona correctamente.

    El problema lo tengo con IE en otros equipos, por ejemplo desde mi ordenador ese mensaje emergente no me aparece, sin embargo desde mi ordenador con Firefox o con Chrome si que me aparece.

    Debe haber algo más pero no sé que es.

    Si se te ocurre algo te estaré muy agradecido.

    Un saludo

    Jorge

    miércoles, 15 de febrero de 2012 16:46
  • 1. Recuerda que ejecucion de script para internet explorer puede estar habilitado para los administradores y no para los usuarios en general, debera consultar con el administrador de red para verificar que no lo haya deshabilitado por GPO.

    2. Si te trabaja bien en el servidor, se descarta la idea de determinar si el navegador es internet explorer, algo como esto

    // Detectar si el navegador es Internet Explorer
    var ie = navigator.userAgent.toLowerCase().indexOf('msie')!=-1;
     
    if(ie) {
      // implementar codigo para internet explorer
    }
    else {
      // determinar que navegador es he implementar codigo para el navegador expecifico}
    
    3. Como trabaja bien en otros navegadores se descarta la idea de habilitar puerto en el firework 


    Angel R. Jimenez G.
    Software Development
    Santo Domingo
    Republica Dominicana
    Blog

    jueves, 16 de febrero de 2012 0:34