Visualizzazione risultati 1 fino 11 di 11

Discussione: [javascript] Safari e Chrome non riconoscono uno script

  1. #1
    terredileonesse non è connesso Neofita
    Data registrazione
    15-11-2009
    Messaggi
    10

    Predefinito [javascript] Safari e Chrome non riconoscono uno script

    cosa fa questo script: sull'apertura della pagina, il BODY ha, l'onload della funzione SIZEPAGE ... mentre in un layer ho un link con ONCLICK la funzione PAGE() ... Su Mozilla Firefox funziona, su Safari e Chrome no... vi allego anche il link in questione...

    In generale questo mio codice all'apertura della pagina definisce uno style, e su un click di un link, lo ridimensiona.
    Ma su Chrome e Safari non va, il javascript non viene riconosciuto ...

    Codice HTML:
    // RIDIMENSIONAMENTO DELLA PAGINA SUL LOGIN
    
    function sizepage() {
        
        space = document.getElementById('pagina');
        space.setAttribute('style', 'left: 300px;');
    
        
            }
        
    function page() {
        
        alert('qui');
        
        space = document.getElementById('pagina');
        lft = space.style.left;
            
        if(lft=='300px') { lft='left: 0px;'; } else { lft='left: 300px;'; }
        space.setAttribute('style',lft);
        
        }
    
    
      <a id="v_toggle" href="#" onClick="page()"> <img src="template/close.png" width="15" height="7"> </a> 
    Ultima modifica di terredileonesse : 18-09-2010 alle ore 17.16.39

  2. #2
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Scrivi l'intero codice della pagina o l'indirizzo.

  3. #3
    terredileonesse non è connesso Neofita
    Data registrazione
    15-11-2009
    Messaggi
    10

    Predefinito

    Codice HTML:
        <script type="text/javascript" src="./js_moo/mootools.js"></script>
        <script type="text/javascript" src="./js_moo/fx_slide.js"></script>
    
    <script type="text/javascript">
    
        // ADATTA LA PAGINA ALLO SCHERMO
        self.resizeTo(screen.availWidth,screen.availHeight);    
    </script>
    
    <script language="Javascript">
    <!--
    
        // CONTROLLA LA PROVENIENZA DELLA PAGINA E DECIDE SE VALIDA
        
    if (document.referrer!="http://terredileonesse.altervista.org/_new/login/auth.php") { 
            window.alert('Pagina aperta Irregolarmente'); 
            window.open('../logout/', '_parent'); 
            }
    //-->
    
    </script>
    
    
    <script type="text/javascript">
    
    // RIDIMENSIONAMENTO DELLA PAGINA SUL LOGIN
    
    function sizepage() {
        
        space = document.getElementById('pagina');
        space.setAttribute('style', 'left: 300px;');
    
        
            }
    
    
        // SCRIPT DEL VESSILLO
        
    function page() {
        
        alert('qui');
        
        space = document.getElementById('pagina');
        lft = space.style.left;
            
        if(lft=='300px') { lft='left: 0px;'; } else { lft='left: 300px;'; }
        space.setAttribute('style',lft);
        
        }
        
    </script>
    <style>
    
        body { font-family: Verdana; font-size: 12px; color: #000; background-color: #F4E7B9; margin: 0px; padding: 0px; }
        a { font-family: Verdana; font-size: 12px; color: #FFF; text-decoration: none; }
        p { font-family: Verdana; font-size: 12px; color: #FFF; padding: 5px; margin: 5px; }
        img { border: 0px; }
        iframe { overflow: hidden; }
    
        div#bg_rosso { width: 100%; height: 200px; background-image: url(template/bg_rosso.png); background-repeat: repeat-x; }
        div#luogo { float: right; width: 400px; height: 150px; }
        
        div#drappo_rosso { position: absolute; top: 0px; left: 0px; margin: 0px; width: 300px; height: auto; }
        div#drappo_hide { width: 300px; height: 350px; margin: 0px; padding: 0px; background-image: url(template/bg_drappo.png); background-repeat: repeat-y; }
        div#drappo_vsbl { width: 300px; height: 230px; margin: 0px; padding: 0px; background-image: url(template/img_drappo.png); background-repeat: no-repeat; }
        
        div#bordi_vsbl { margin-left: 35px; padding-top: 5px; width: 225px; height: 140px; color: #FFF; }
        
        div#pagina { width: auto; height: auto; position: absolute; top: 220px; right: 0px; bottom: 0px; margin: 0px; padding: 5px; border: 0px; }
        
    </style>
    
    </head>
    
    <body onload="sizepage()">
    
        <div id="pagina"> <iframe name="page" width="100%" height="100%" frameborder="0" allowtransparency="true"></iframe></div>    
        
        <div id="bg_rosso">
        
            
            <div id="luogo"><iframe name="luogo" src="./luogo.php" width="100%" height="100%" frameborder="0" allowtransparency="true"></iframe></div>
        
        </div>
        
        <div id="drappo_rosso">
            <div id="drappo_hide"></div>
            <div id="drappo_vsbl"><div id="bordi_vsbl">
                 <iframe name="avatarSmall" height="140" width="230" frameborder="0" scrolling="no" allowtransparency="true" src="drappo_vsbl.php"></iframe>
            <div style="float: right; width: auto; height: 10px; margin-right: 0px;">
                 <a id="v_toggle" href="#" onClick="page()"> <img src="template/close.png" width="15" height="7"> </a> 
            </div>
            </div></div>
        </div>
        
    </body>

  4. #4
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Ho provato con il codice che hai scritto e funziona tutto correttamente su Firefox e Chrome. Comunque evita di usare codice per ridimensionare le finestre, è molto fastidioso.

  5. #5
    terredileonesse non è connesso Neofita
    Data registrazione
    15-11-2009
    Messaggi
    10

    Predefinito

    a me su chrome non va ... sei sicuro che faccia il resize?? puoi mostrarmi il link?

  6. #6
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Da quello che hai scritto nel primo post avevo capito che ci fosse un problema con quelle due funzioni, il resize non viene effettuato perché chrome non supporta quella funzione non standard.
    Comunque non capisco, perché vuoi a tutti i costi ridimensionare la finestra dell'utente? A mio parere è l'utente che deve scegliere, non dovresti imporlo tu.
    Ultima modifica di karl94 : 18-09-2010 alle ore 18.02.37

  7. #7
    terredileonesse non è connesso Neofita
    Data registrazione
    15-11-2009
    Messaggi
    10

    Predefinito

    non devo fare il resize della finestra, ma il resize di uno stile ... XD
    le funzioni sono spiegate anche nel topic ... un div che inizialmente ha LEFT 300px deve diventare 0 su click o tornare 300 dal precedente zero

  8. #8
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    Mettiamo in chiaro: quello della finestra è un resize (infatti il metodo si chiama resizeTo), il resize di uno stile non significa niente. Tu vuoi alternare il valore della proprietà CSS left tra 300px e 0, giusto? Per fare questo ti sconsiglio di usare l'attributo style, ma è meglio sfruttare le potenzialità del DOM (o meglio CSSOM). Se usi la proprietà style dell'elemento avrai accesso ad un oggetto contenente le varie proprietà CSS e i corrispettivi valori già analizzati e corretti dal brwser. In definitiva puoi fare così: anziché mettere una funzione che al caricamento della pagina imposti lo stile di quell'elemento, imposti già l'attributo style nel codice HTML, poi la funzione page sarà la seguente:
    Codice HTML:
    <script type="text/javascript">
    function page(){
        space = document.getElementById('pagina');
        space.style.left = space.style.left == "300px" ? "0" : "300px";
    }
    </script>

  9. #9
    terredileonesse non è connesso Neofita
    Data registrazione
    15-11-2009
    Messaggi
    10

    Predefinito

    Il tuo script non funziona ...

    credo di aver trovato un "errore " ... se tolgo un iframe, lo script va anche su Safari ... controllerò ciò che carica quell'iframe.
    Ultima modifica di terredileonesse : 18-09-2010 alle ore 18.45.17

  10. #10
    karl94 non è connesso Staff AV
    Data registrazione
    03-10-2005
    Messaggi
    17,745

    Predefinito

    A me funziona, scrivi l'indirizzo della pagina in cui stai provando.

  11. #11
    terredileonesse non è connesso Neofita
    Data registrazione
    15-11-2009
    Messaggi
    10

    Predefinito

    Ciao a tutti, come sopra questo script non funziona ...
    in pratica dal db acquisisco un elenco di CHAT disponibili, e le stampo.
    Sul menu a tendina la selezione ed automaticamente si aggiorna con il
    javascript sia la pagina principale che la pagina della chat per darmi i
    dettagli relativi.

    Su Mozilla questo script va da dio, ma su Chrome o Safari nulla...
    sugegrimenti su come risolvere o cosa non va nel mio script ??

    Codice PHP:

    <select name="simbolo">

    <option value="99999" selected="selected" onfocus=""> - <?php echo"$luogo[nome]"; ?> - </option>
    <?php if($sim1=='100' && $sim2<'04') { ?><optgroup label="Luoghi privati"><?php

    $row
    =mysql_query("SELECT * FROM t_luogo WHERE ( id_luogo>='100' && id_luogo<'500') || chat LIKE '%bachecacorp.php?id%' ORDER BY id_luogo ASC");
    while(
    $luoghi=mysql_fetch_array($row))
    { echo
    "<option onclick=\"javascript: window.open('./luogo.php?luogo=$luoghi[id_luogo]','luogo');\">$luoghi[nome]</option>"; }

    ?>
    </optgroup><?php } ?>
    </select>

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •