Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    443

    altezza in px interna finestra browser

    Salve,

    è possibile ricavare l'altezza in pixel dello spazio disponibile all'interno del browser dove appare il documento? (non la risoluzione della schermata!)

    Grazie per un suggerimento

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Potrebbe essere:
    var w = document.body.innerWidth;
    var h = document.body.innerHeight;

    solo che non e` disponibile in tutti i browser.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  3. #3
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    piccola svista
    var w = document.body.clientWidth;
    var h = document.body.clientHeight;

    alcuni browser (IE, opera) restituiscono questi valori
    gli altri usano (a volte oltre alle proprieta' di cui sopra) window.innerWith e window.innerHeight
    codice:
    var w = (window.innerWidth)?window.innerWidth:document.body.clientWidth;
    var h = (window.innerHeight)?window.innerHeight:document.body.clientHeight;
    IE6 pero' in documento con doctype completo e corretto assegna alcune proprieta' di body a documentElement, quindi se non si e' sicuri del documento in cui verra' inserito lo script si puo' fare cosi'
    codice:
    var IE6vDoc=(document.compatMode && document.compatMode != "BackCompat")?1:0;
    var w = (window.innerWidth)?window.innerWidth:
    	((IE6vDoc)?document.documentElement.clientWidth:
    	document.body.clientWidth);
    var h = (window.innerHeight)?window.innerHeight:
    	((IE6vDoc)?document.documentElement.clientHeight:
    	document.body.clientHeight);
    ciao

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    443
    Grazie a tutti

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    443
    per passare i valori come variabili $_GET


    ... non funziona !!

    codice:
    var IE6vDoc=(document.compatMode && document.compatMode != "BackCompat")?1:0;
    var w = (window.innerWidth)?window.innerWidth:
    	((IE6vDoc)?document.documentElement.clientWidth:
    	document.body.clientWidth);
    var h = (window.innerHeight)?window.innerHeight:
    	((IE6vDoc)?document.documentElement.clientHeight:
    	document.body.clientHeight);
    document.location.href='<?php echo $_SERVER['PHP_SELF']; ?>?height="+h+"&width="+w+"';

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    self.location.href='<?php echo $_SERVER['PHP_SELF']; ?>?height='+h+'&width='+w;

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    443
    Grazie,funziona benissimo con NS, Opera, Firefox ma non con MSIE

    Qualche idea per fare in modo che funzioni anche con MSIE

    codice:
    var IE6vDoc=(document.compatMode && document.compatMode != "BackCompat")?1:0;
    var w = (window.innerWidth)?window.innerWidth:
    	((IE6vDoc)?document.documentElement.clientWidth:
    	document.body.clientWidth);
    var h = (window.innerHeight)?window.innerHeight:
    	((IE6vDoc)?document.documentElement.clientHeight:
    	document.body.clientHeight);
    self.location.href='test.php?height='+h+'&width='+w;

  8. #8
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    aspetta, non e' che non funzioni in IE...
    scommetto che lo richiami nell' head nudo e crudo, fuori da funzione: al momento della rilevazione non ancora e' stato definito un elemento body, come potrebbe conoscerne le dimensioni?

    chiudi lo script in funzione e richiamala cosi'
    <body onload="funzione();">

    oppure, inserisci tutto lo script (o il richiamo alla funzione) dopo aver almeno aperto il tag <body>

    ciao

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2002
    Messaggi
    443
    Grazie,

    ... certo, l'ho proprio inserito nel head "nudo e crudo"

    Se lo inserisco nel body funziona.

    ... Il mio problema, però non finisce qui....

    l'intezione era quella di usare questi valori per posizionare un layer al centro della schermata


    Attualmente con PHP uso il seguente codice e funziona anche se viene inserito prima del head (evito così di caricare 2x la pagina)

    Codice PHP:
    if (!isset($_GET['width']) AND !isset($_GET['height']) AND $totalRows_ultimo_last_minute AND $_GET['page'] == "home") {
      echo 
    "<script language='javascript'>\n";
      echo 
    "  location.href=\"${_SERVER['SCRIPT_NAME']}?${_SERVER['QUERY_STRING']}"
               
    "&width=\" + screen.width + \"&height=\" + screen.height;\n";
      echo 
    "</script>\n";
      exit();

    Per essere più preciso nel posizionamento sarebbero comodi i valori innerWidth e innerHeight

    Mi confermi che non c'e modo di ricavare questi valori evitando di caricare 2x il documento (cioè inserendo il codice prima del head)

    Grazie

  10. #10
    Ho lo stesso identico problema.
    Non c'è alcun modo per avere il valore dell'innerHeight in modo da poter conoscere laltezza utile del browser e di conseguenza adattare l'altezza della pagina web?
    Certo da quello che ho capito se non è stata ancora creata la pagina sarà difficile conoscere il valore di un suo attributo però non so, magari qualche esperto....

    Se no come è possibile fare in modo di centrare una pagina web in altezza indipendentemente dalla risoluzione del browser dell'utente?
    Grazie mille

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.