Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    33

    come sapere le dimensioni della finestra

    di sistemi per vedere qual è la risoluzione del video ne ho trovati ovunque
    non riesco invece a trovare un modo per sapere quanto è grande la finestra del browser
    immagino non sia possibile anche perchè c'è il problema del resize della finestra (un sistema di lettura dovrebbe eventualmente anche capire di volta in volta di quanto si è ridimensionata)


  2. #2
    Utente di HTML.it L'avatar di v2v2
    Registrato dal
    Sep 2002
    Messaggi
    221
    puoi fare qualcosa del genere
    codice:
    <html> 
    <head> 
    <script> 
    function f(){
    alert('Larghezza: '+screen.AvailWidth+'. Altezza: '+screen.AvailHeight) }
    </script> 
    </head> 
    <body onload="f()" onresize="f()"> 
    </body> 
    </html>
    Only the good die young
    all the evil seem to live forever

    :metallica

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    33
    acc.. non funzia
    non mi fa ridimensionare il browser
    e comunque anche se lo faccio prima di aprire la pagina mi dà sempre le stesse dimensioni

    e comunque a ripensarci è impossibile fare quello che volevo cioè:
    l'idea era quella di inserire altezza e larghezza della finestra (anzi in realtà solo l'altezza) in un foglio di stile per dare le giuste dimensioni a un div
    però (ammesso che si possa fare) una volta aperta la pagina se si va a ridimensionare la finestra non si può automaticamente ridimensionare anche il div a meno che non si refresha la pagina [refresha... ?? mah!]
    o no ?
    se ci sono idee a proposito ...

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Occhio che il codice di v2v2 ti da` le dimensioni (in px) dello schermo, non della finestra.

    Per eseguire qualcsoa in caso di ridimensionamento puoi usare l'evento onResize (come suggerito da v2v2), senza necessita` di ridimensionare.

    Per misure relative di un div, puoi usare le misure in %. Potrebbe anceh darsi che queste cambino in modo automatico in caso di resize.

    Ciao
    Michele
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Prova ad esaminare il sorgente di questa pagina (l'indirizzo originario dal quale e' prelevata, incluso nel codice, non e' piu' attivo )

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  6. #6
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    33
    fantastico .......

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2002
    Messaggi
    33
    ... mannaggia però quanto è incasinato !!!

    bene, in queste ultime 3 ore grazie alla mia straordinaria dimestichezza con i linguaggi di scripting sono riuscito a capire quanto segue:

    1. come eliminare il televisore sony
    2. come eliminare i dati del monitor e della finestra
    3. come eliminare la parte restante dello script

    in considerazione dei precedenti punti 1. 2. e 3. ho stabilito inoltre che:
    4. procedendo come appena descritto l'unica cosa che si ottiene è una pagina html completamente vuota
    5. ho decisamente bisogno di aiuto !!!

    vi dico solo che un attimo prima del punto 3. ero riuscito a capire che quando si giocherella con la finestra del browser in realtà non si vanno a modificare le dimensioni dei Div ma di immagini al loro interno che tra l'altro non riesco ad eliminare se non facendo fuori il resto dello script (da cui il punto 3.)

    in parole povere io sono arrivato qui:





    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

    <HTML><HEAD><TITLE></TITLE>
    <META http-equiv=Content-Type content="text/html; charset=windows-1252">
    <SCRIPT language=javascript>
    function test(){
    alert(document.body.offsetWidth)
    }

    var cSchermo = "#EEEEEE"
    var cDesktop = "#6186FF"
    var cBrowser = "#C0C0C0"
    var cFinestra = "#FF0000"

    var topBr=0
    var downBr=0
    var latBr=0

    var xMonitor = 51
    var yMonitor = 45

    var zeroX = 55
    var zeroY = 49

    // scala di rimpicciolimento (1 : 4)
    var scala = 4

    function calcolaBrowser(){

    //txt = 'window.screenLeft='+window.screenLeft+'\nwindow.s creenTop='+window.screenTop
    //alert(txt)
    var avW = window.screen.availWidth
    var avH = window.screen.availHeight
    var axOld = window.screenLeft;
    var ayOld = window.screenTop;
    var awOld = window.document.body.offsetWidth;
    var ahOld = window.document.body.offsetHeight;

    window.resizeTo(avW,avH)
    window.moveTo(0,0)
    var ax = window.screenLeft;
    var ay = window.screenTop;
    var aw = window.document.body.offsetWidth;
    var ah = window.document.body.offsetHeight;
    topBr = ay
    downBr = avH-ay-ah
    widthPlusBr = (avW-aw)
    latBr = Math.round(widthPlusBr/2)
    window.resizeTo(awOld+widthPlusBr,ahOld+topBr+down Br)
    window.moveTo(axOld-latBr,ayOld-topBr)

    sw = window.screen.width
    sh = window.screen.height

    objMon = document.images['mon']
    objScr = document.images['scr']

    objMon.width=Math.round(sw/scala)-12
    objMon.height=Math.round(sh/scala)-8

    objScr.width=Math.round(sw/scala)
    objScr.height=Math.round(sh/scala)

    moveDiv('pannel',(zeroX+Math.round(sw/scala))+xMonitor+6,zeroY-yMonitor+6)
    moveDiv('aviable',zeroX,zeroY)
    moveDiv('monitor',zeroX-xMonitor+6,zeroY-yMonitor+6)
    moveDiv('schermo',zeroX,zeroY)

    //alert('topBr='+topBr+'\ndownBr='+downBr+'\nlatBr=' +latBr)
    }

    function setDiv(id){
    if(document.all){
    return(document.all[id]);
    }
    else if(document.layers){
    return(document.layers[id]);
    }
    else if(document.getElementById){
    return(document.getElementById(id));
    }
    }

    //Muove un div/layer. Necessita della function setDiv(id) (da verificar con Explorer 6)
    function moveDiv(id,nX,nY){
    var dd = setDiv(id);
    if(document.all){
    dd.style.top = nY;
    dd.style.left = nX;
    }
    else if(document.layers){
    dd.moveTo(nX,nY);
    }
    else if(document.getElementById){
    dd.style.top = nY;
    dd.style.left = nX;
    }
    }

    function writeInDiv(idDiv,testo){
    if(document.getElementById){
    document.getElementById(idDiv).innerHTML = testo
    }
    if(document.layers){
    document.layers[idDiv].document.write(testo);
    document.layers[idDiv].document.close();
    }
    }

    function TabInfo(ds,es,db,eb){
    var txtInfo = ''
    txt='document.body.clientHeight: '+document.body.clientHeight+''

    writeInDiv('pannel',txt)
    }

    function dimensioni(){
    if(document.all){
    var ax = window.screenLeft;
    var ay = window.screenTop;
    var aw = window.document.body.offsetWidth;
    var ah = window.document.body.offsetHeight;
    var aaw = window.document.body.clientWidth//offsetWidth;
    var aah = window.document.body.clientHeight//offsetHeight;


    var avW = window.screen.availWidth
    var avH = window.screen.availHeight
    }
    else{
    var ax = window.screenX;
    var ay = window.screenY;
    var aw = window.outerWidth;
    var ah = window.outerHeight;
    }
    sw = window.screen.width
    sh = window.screen.height


    objAV = document.images['av']
    objBro = document.images['bro']
    objFin = document.images['fin']


    objAV.width=Math.round(avW/scala)
    objAV.height=Math.round(avH/scala)

    objBro.width=Math.round((aw+latBr+latBr)/scala)
    objBro.height=Math.round((ah+topBr+downBr)/scala)

    objFin.width=Math.round(aw/scala)
    objFin.height=Math.round(ah/scala)



    moveDiv('browser',(zeroX+Math.round((ax-latBr)/scala)),(zeroY+Math.round((ay-topBr)/scala)))
    moveDiv('finestra',(zeroX+Math.round(ax/scala)),(zeroY+Math.round(ay/scala)))
    ds = sw+' x '+sh
    es = avW+' x '+avH
    db = (aw+latBr+latBr)+' x '+(ah+topBr+downBr)
    eb = aaw+' x '+aah
    TabInfo(ds,es,db,eb)
    setTimeout('dimensioni()',500)
    }
    </SCRIPT>

    <META content="MSHTML 5.50.4728.2300" name=GENERATOR>
    </HEAD>

    <BODY onload=calcolaBrowser();dimensioni();>

    <DIV id=monitor style="POSITION: absolute" name="monitor">
    <IMG id=mon name=mon alt="a">
    </DIV>

    <DIV id=schermo style="LEFT: 20px; POSITION: absolute; TOP: 20px" name="schermo">
    <IMG id=scr name=scr alt="b">
    </DIV>

    <DIV id=aviable style="LEFT: 10px; POSITION: absolute; TOP: 10px" name="aviable">
    <IMG id=av name=av alt="c">
    </DIV>

    <DIV id=browser style="POSITION: absolute" name="browser">
    [img]a.gif[/img]
    </DIV>

    <DIV id=finestra style="POSITION: absolute" name="finestra">
    [img]a.gif[/img]
    </DIV>

    <DIV id=pannel style="LEFT: 340px; POSITION: absolute; TOP: 10px" name="pannel">f</DIV>

    </BODY>
    </HTML>




    avrete capito che per me il resto è buio

    se magari qualcuno può fare luce ...

  8. #8
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    633
    questo ti sarà utile:

    http://www.xs4all.nl/~ppk/js/doctypes.html

    ciauz
    Alcuni miei articoli in PRO.HTML.IT: JavaScript | DHTML | DOM
    Sviluppo : wedev | forum

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.