none
abrir una nueva página de tamaño fijo!

    Question

  • hola de nuevo :-)!!!

    me gustaría saber como se podría hacer para abrir una nueva página web con un tamaño fijo, es decir:
     
    Se pulsa por ejemplo un botón, y se abre una nueva ventana ( la cual tiene un tamaño fijo que el usuario no pueda modificar). Es esto posible??? Me podrías decir como se haria???

    Un saludo y muchas gracias.
    Thursday, December 14, 2006 6:35 PM

Answers

  • En la función window.open debes especificar que no se pude redimensionar con el parametro resizable=no :

    window.open("ventana.html","ventana1","width=400,height=400,resizable=no")

    Ademas te adjunto un metodo en C# para abrir ventanas que no se pueden redimensionar y ademas centrada en la pantalla:

    public void OpenCenterPopUpOnLoad(Page objPage, string url, string title, int width, int height)
      {
       StringBuilder sb = new StringBuilder();
     
       sb.Append("\r\n<script language='JavaScript'>\r\n");
       sb.Append("\r\n");
       sb.Append("window.onload = OpenCenterPopUp('" + url + "','" + title + "'," + width +"," + height + ");\r\n");
       sb.Append("\r\n");
       sb.Append("function OpenCenterPopUp(url, name, width, height)" + "\r\n");
       sb.Append("{" + "\r\n");
       sb.Append(" var TopLeftX=screen.width / 2 - width/2;" + "\r\n");
       sb.Append(" var TopLeftY=screen.height / 2 - height/2;" + "\r\n");
       sb.Append(" window.open(url,name,'top='+TopLeftY+', left='+TopLeftX+', width='+width+',height='+height+',directories=no,location=no,menubar=no,scrollbars=no,status=no,toolbar=no,resizable=no');           " + "\r\n");
       sb.Append("}" + "\r\n");
       sb.Append("" + "\r\n");
       sb.Append("</script>");
     
       objPage.RegisterClientScriptBlock("OpenCenterPopUp", sb.ToString());
      } 

    Salu2.

    Thursday, December 14, 2006 7:12 PM

All replies

  • En la función window.open debes especificar que no se pude redimensionar con el parametro resizable=no :

    window.open("ventana.html","ventana1","width=400,height=400,resizable=no")

    Ademas te adjunto un metodo en C# para abrir ventanas que no se pueden redimensionar y ademas centrada en la pantalla:

    public void OpenCenterPopUpOnLoad(Page objPage, string url, string title, int width, int height)
      {
       StringBuilder sb = new StringBuilder();
     
       sb.Append("\r\n<script language='JavaScript'>\r\n");
       sb.Append("\r\n");
       sb.Append("window.onload = OpenCenterPopUp('" + url + "','" + title + "'," + width +"," + height + ");\r\n");
       sb.Append("\r\n");
       sb.Append("function OpenCenterPopUp(url, name, width, height)" + "\r\n");
       sb.Append("{" + "\r\n");
       sb.Append(" var TopLeftX=screen.width / 2 - width/2;" + "\r\n");
       sb.Append(" var TopLeftY=screen.height / 2 - height/2;" + "\r\n");
       sb.Append(" window.open(url,name,'top='+TopLeftY+', left='+TopLeftX+', width='+width+',height='+height+',directories=no,location=no,menubar=no,scrollbars=no,status=no,toolbar=no,resizable=no');           " + "\r\n");
       sb.Append("}" + "\r\n");
       sb.Append("" + "\r\n");
       sb.Append("</script>");
     
       objPage.RegisterClientScriptBlock("OpenCenterPopUp", sb.ToString());
      } 

    Salu2.

    Thursday, December 14, 2006 7:12 PM
  • hola,
    muchas gracias  !!! lo que pasa es que no sé muy bien que parametros hay que pasar en el objPage.

    Por ejemplo: si tenemos una pagina "http://localhost/principal.aspx" y despues tenemos otra que es la que queremos abrir "http://localhost/nueva.aspx" a traves de un boton

    ¿Qué habría que hacer lo siguiente?

    protected void ImageButton10_Click(object sender, ImageClickEventArgs e)
        {
            Page nueva = new Page();       
            OpenCenterPopUpOnLoad(nueva,"http://localhost/nueva.aspx","Cargar sesión", 100, 100);
        }

    es que a mi no me funciona, no me hace nada al pulsar el botón.
    Thursday, December 14, 2006 8:25 PM
  • El objeto page es la referencia a la página donde ejecutas el método: this en c# y Me en VB.NET

    Por ejemplo:

    OpenCenterPopUpOnLoad(this,"http://localhost/nueva.aspx","Cargar sesión", 100, 100);

    Salu2.

    Thursday, December 14, 2006 9:11 PM
  • Genial !!!!!

    Todo perfecto, el link de este foro y vuestros nombres aparecerán en mayúsculas en los agradecimientos de mi proyecto de fin de carrera jejeje!!

    Un saludo y gracias de nuevo
    Friday, December 15, 2006 3:27 PM