Visualizzazione risultati 1 fino 13 di 13

Discussione: Script javascript non funziona in pagina php

  1. #1
    Data registrazione
    11-07-2009
    Residenza
    Roma
    Messaggi
    163

    Predefinito Script javascript non funziona in pagina php

    ....salve a tutti son di nuovo qui a rompere scusate ma ho un piccolo problema con lo script javascript "Neve sulla pagina" lo volevo utilizzare in una pagina realizzata in xhtml con estensione .php, in pratica lo script funziona se lo posiziono all'inizio della pagina cioè prima della dichiarazione DOCTYPE e ovviamente va a farsi benedire la validazione w3c..., ma non ne vuole sapere se lo posto come si dovrebbe tra i tag <head> e </head> si vede un asterisco (neve) bloccato all'inizio della pagina >_<'''' non è la prima volta che mi capita di non riuscire a far funzionare uno script su una pagina php spero voi sappiate come risolvere

    Questo è lo script:
    Codice HTML:
    <script type="text/javascript">
    //<![CDATA[
    // CREDITS:
    // Snowmaker
    // By Peter Gehrig
    // Copyright (c) 2003 Peter Gehrig. All rights reserved.
    // Permission given to use the script provided that this notice remains as is.
    // Additional scripts can be found at http://www.24fun.com
    // info@24fun.com
    // 11/27/2003
    
    // IMPORTANT:
    // If you add this script to a script-library or script-archive
    // you have to add a highly visible link to
    // http://www.24fun.com on the webpage
    // where this script will be featured
    
    ///////////////////////////////////////////////////////////////////////////
    // CONFIGURATION STARTS HERE
    ///////////////////////////////////////////////////////////////////////////
    
    // Set the number of snowflakes (more than 30 - 40 not recommended)
    var snowmax=35
    
    // Set the colors for the snow. Add as many colors as you like
    var snowcolor=new Array("#f8efe0","#f0e1ca","#faf5e4")
    
    // Set the fonts, that create the snowflakes. Add as many fonts as you like
    var snowtype=new Array("Arial Black","Arial Narrow","Times","Comic Sans MS")
    
    // Set the letter that creates your snowflake (recommended:*)
    var snowletter="*"
    
    // Set the speed of sinking (recommended values range from 0.3 to 2)
    var sinkspeed=0.6
    
    // Set the maximal-size of your snowflaxes
    var snowmaxsize=18
    
    // Set the minimal-size of your snowflaxes
    var snowminsize=8
    
    // Set the snowing-zone
    // Set 1 for all-over-snowing, set 2 for left-side-snowing
    // Set 3 for center-snowing, set 4 for right-side-snowing
    var snowingzone=3
    
    ///////////////////////////////////////////////////////////////////////////
    // CONFIGURATION ENDS HERE
    ///////////////////////////////////////////////////////////////////////////
    
    // Do not edit below this line
    var snow=new Array()
    var marginbottom
    var marginright
    var timer
    var i_snow=0
    var x_mv=new Array();
    var crds=new Array();
    var lftrght=new Array();
    var browserinfos=navigator.userAgent
    var ie5=document.all&&document.getElementById&&!browserinfos.match(/Opera/)
    var ns6=document.getElementById&&!document.all
    var opera=browserinfos.match(/Opera/)
    var browserok=ie5||ns6||opera
    
    function randommaker(range) {
    rand=Math.floor(range*Math.random())
    return rand
    }
    
    function initsnow() {
    if (ie5 || opera) {
    marginbottom = document.body.clientHeight
    marginright = document.body.clientWidth
    }
    else if (ns6) {
    marginbottom = window.innerHeight
    marginright = window.innerWidth
    }
    var snowsizerange=snowmaxsize-snowminsize
    for (i=0;i<=snowmax;i++) {
    crds[i] = 0;
    lftrght[i] = Math.random()*15;
    x_mv[i] = 0.03 + Math.random()/10;
    snow[i]=document.getElementById("s"+i)
    snow[i].style.fontFamily=snowtype[randommaker(snowtype.length)]
    snow[i].size=randommaker(snowsizerange)+snowminsize
    snow[i].style.fontSize=snow[i].size
    snow[i].style.color=snowcolor[randommaker(snowcolor.length)]
    snow[i].sink=sinkspeed*snow[i].size/5
    if (snowingzone==1) {snow[i].posx=randommaker(marginright-snow[i].size)}
    if (snowingzone==2) {snow[i].posx=randommaker(marginright/2-snow[i].size)}
    if (snowingzone==3) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/4}
    if (snowingzone==4) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/2}
    snow[i].posy=randommaker(2*marginbottom-marginbottom-2*snow[i].size)
    snow[i].style.left=snow[i].posx
    snow[i].style.top=snow[i].posy
    }
    movesnow()
    }
    
    function movesnow() {
    for (i=0;i<=snowmax;i++) {
    crds[i] += x_mv[i];
    snow[i].posy+=snow[i].sink
    snow[i].style.left=snow[i].posx+lftrght[i]*Math.sin(crds[i]);
    snow[i].style.top=snow[i].posy
    
    if (snow[i].posy>=marginbottom-2*snow[i].size || parseInt(snow[i].style.left)>(marginright-3*lftrght[i])){
    if (snowingzone==1) {snow[i].posx=randommaker(marginright-snow[i].size)}
    if (snowingzone==2) {snow[i].posx=randommaker(marginright/2-snow[i].size)}
    if (snowingzone==3) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/4}
    if (snowingzone==4) {snow[i].posx=randommaker(marginright/2-snow[i].size)+marginright/2}
    snow[i].posy=0
    }
    }
    var timer=setTimeout("movesnow()",50)
    }
    
    for (i=0;i<=snowmax;i++) {
    document.write("<span id='s"+i+"' style='position:absolute;top:-"+snowmaxsize+"'>"+snowletter+"<\/span>")
    }
    if (browserok) {
    window.onload=initsnow
    }
    //]]>
    </script>
    E questa è la pagina Link

    Grazie

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

    Predefinito

    Questo script è progettato per essere messo all'interno dell'elemento body, inseriscilo immediatamente prima del tag di chiusura.
    Il fatto che la pagina sia prodotta da uno script PHP è del tutto ininfluente.

  3. #3
    Data registrazione
    11-07-2009
    Residenza
    Roma
    Messaggi
    163

    Predefinito

    Grazie Karl ho sistemato lo script nel body ma non va' ugualmente ora l'asterisco è bloccato in fondo alla pagina.....

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

    Predefinito

    È lo script che è scritto male, funziona solo se il browser va in quirks mode (ovvero omettendo il doctype). Ti consiglio di usarne un altro.

  5. #5
    Data registrazione
    11-07-2009
    Residenza
    Roma
    Messaggi
    163

    Predefinito

    Ho sostituito lo script ri-prelevandolo su web link ma non c'è verso, funziona però benissimo in una pagina html completa di doctype

    Link

    A me viene il dubbio che ci sia un problema con php perchè mi è capitato di avere problemi con altri script

    Spero ci sia un modo x risolvere...

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

    Predefinito

    Il doctype di quella pagina non è corretto, il browser va in quirks mode.

  7. #7
    Data registrazione
    11-07-2009
    Residenza
    Roma
    Messaggi
    163

    Predefinito

    Parliamo della pagina in php?
    La pagina è validata, dove non è corretto il doctype... scusa se approfitto ma vorrei risolvere anche x pagine future^^

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

    Predefinito

    Parlo dell'ultima pagina che hai specificato.

  9. #9
    Data registrazione
    11-07-2009
    Residenza
    Roma
    Messaggi
    163

    Predefinito

    ma li lo script funziona benissimo x cui il doctype non c'entra.....

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

    Predefinito

    La pagina all'indirizzo http://www.iltelaiodipenelope.it/natale/provax.htm vien visualizzata in quirks mode dal browser poiché non presenta un corretto doctype:
    Codice HTML:
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    Questo non è un doctype valido, poiché dichiara un identificatore pubblico ma specifica solo la stringa identificativa e non il relativo indirizzo.

  11. #11
    Data registrazione
    11-07-2009
    Residenza
    Roma
    Messaggi
    163

    Predefinito

    Capisco, ma il problema non sta in quella pagina che pur avendo un doctype errato lo script funziona, sta nell'altra dove lo script non va' Link

  12. #12
    Guest

    Predefinito

    Citazione Originalmente inviato da penelopesito Visualizza messaggio
    Capisco, ma il problema non sta in quella pagina che pur avendo un doctype errato lo script funziona, sta nell'altra dove lo script non va' Link
    Come ti è stato detto, in questa pagina lo script non funziona perchè questa pagina ha un DOCTYPE VALIDO.

    Lo script funziona SOLO su pagine in quirks mode (senza DOCTYPE, o con DOCTYPE NON valido).

  13. #13
    Data registrazione
    11-07-2009
    Residenza
    Roma
    Messaggi
    163

    Predefinito

    Grazie Simpleticket ora mi è chiaro, quindi non c'è soluzione? Devo trovare un altro metodo x la neve.... Grazie siete stati gentilissimi buon sabato ^_^

Regole di scrittura

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