Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Mozilla e JavaScript

  1. #1

    Mozilla e JavaScript

    Buongiorno a tutto il forum!
    Eccomi di nuovo qui per cercare di risolvere un problema.
    Sto testando la mia HomePage su browser mozilla. Ho un javascript effetto arcobaleno su link che purtroppo non riesco a far visualizzare su mozilla. In IE si vede benissimo!
    Come procedura ho fatto:
    1) Scaricato il file rainbow.js nella cartella dove si trova la HomePage
    2) Poi ho richiamato il file js nella sezione <head></head> dell'index in questo modo <script language="javascript" src="rainbow.js"></script>

    Premetto che sto lavorando in PHP.

    Se clicco 2 volte sull'index dalla cartella di lavoro riesco a vedere l'effetto ma se nella barra degli indirizzi di mozilla scrivo:
    http://localhost:8080/myweb/index.htm
    l'effetto non viene visualizzato.
    Mi potete aiutare?
    Grazie a tutti

  2. #2
    Probabilmente non funziona perchè sfrutta uno di quei filtri di Explorer che nessun altro brower supporta.
    In ogni caso mi pare difficile poterti aiutare concretamente se non ci fai vedere lo script

  3. #3
    lo script è il seguente:
    ////////////////////////////////////////////////////////////////////
    // Setting

    var rate = 20; // Increase amount(The degree of the transmutation)


    ////////////////////////////////////////////////////////////////////
    // Main routine

    if (document.getElementById)
    window.onerror=new Function("return true")

    var objActive; // The object which event occured in
    var act = 0; // Flag during the action
    var elmH = 0; // Hue
    var elmS = 128; // Saturation
    var elmV = 255; // Value
    var clrOrg; // A color before the change
    var TimerID; // Timer ID


    if (document.all) {
    document.onmouseover = doRainbowAnchor;
    document.onmouseout = stopRainbowAnchor;
    }
    else if (document.getElementById) {
    document.captureEvents(Event.MOUSEOVER | Event.MOUSEOUT);
    document.onmouseover = Mozilla_doRainbowAnchor;
    document.onmouseout = Mozilla_stopRainbowAnchor;
    }


    //================================================== ===========================
    // doRainbow
    // This function begins to change a color.
    //================================================== ===========================
    function doRainbow(obj)
    {
    if (act == 0) {
    act = 1;
    if (obj)
    objActive = obj;
    else
    objActive = event.srcElement;
    clrOrg = objActive.style.color;
    TimerID = setInterval("ChangeColor()",100);
    }
    }


    //================================================== ===========================
    // stopRainbow
    // This function stops to change a color.
    //================================================== ===========================
    function stopRainbow()
    {
    if (act) {
    objActive.style.color = clrOrg;
    clearInterval(TimerID);
    act = 0;
    }
    }


    //================================================== ===========================
    // doRainbowAnchor
    // This function begins to change a color. (of a anchor, automatically)
    //================================================== ===========================
    function doRainbowAnchor()
    {
    if (act == 0) {
    var obj = event.srcElement;
    while (obj.tagName != 'A' && obj.tagName != 'BODY') {
    obj = obj.parentElement;
    if (obj.tagName == 'A' || obj.tagName == 'BODY')
    break;
    }

    if (obj.tagName == 'A' && obj.href != '') {
    objActive = obj;
    act = 1;
    clrOrg = objActive.style.color;
    TimerID = setInterval("ChangeColor()",100);
    }
    }
    }


    //================================================== ===========================
    // stopRainbowAnchor
    // This function stops to change a color. (of a anchor, automatically)
    //================================================== ===========================
    function stopRainbowAnchor()
    {
    if (act) {
    if (objActive.tagName == 'A') {
    objActive.style.color = clrOrg;
    clearInterval(TimerID);
    act = 0;
    }
    }
    }


    //================================================== ===========================
    // Mozilla_doRainbowAnchor(for Netscape6 and Mozilla browser)
    // This function begins to change a color. (of a anchor, automatically)
    //================================================== ===========================
    function Mozilla_doRainbowAnchor(e)
    {
    if (act == 0) {
    obj = e.target;
    while (obj.nodeName != 'A' && obj.nodeName != 'BODY') {
    obj = obj.parentNode;
    if (obj.nodeName == 'A' || obj.nodeName == 'BODY')
    break;
    }

    if (obj.nodeName == 'A' && obj.href != '') {
    objActive = obj;
    act = 1;
    clrOrg = obj.style.color;
    TimerID = setInterval("ChangeColor()",100);
    }
    }
    }


    //================================================== ===========================
    // Mozilla_stopRainbowAnchor(for Netscape6 and Mozilla browser)
    // This function stops to change a color. (of a anchor, automatically)
    //================================================== ===========================
    function Mozilla_stopRainbowAnchor(e)
    {
    if (act) {
    if (objActive.nodeName == 'A') {
    objActive.style.color = clrOrg;
    clearInterval(TimerID);
    act = 0;
    }
    }
    }


    //================================================== ===========================
    // Change Color
    // This function changes a color actually.
    //================================================== ===========================
    function ChangeColor()
    {
    objActive.style.color = makeColor();
    }


    //================================================== ===========================
    // makeColor
    // This function makes rainbow colors.
    //================================================== ===========================
    function makeColor()
    {
    // Don't you think Color Gamut to look like Rainbow?

    // HSVtoRGB
    if (elmS == 0) {
    elmR = elmV; elmG = elmV; elmB = elmV;
    }
    else {
    t1 = elmV;
    t2 = (255 - elmS) * elmV / 255;
    t3 = elmH % 60;
    t3 = (t1 - t2) * t3 / 60;

    if (elmH < 60) {
    elmR = t1; elmB = t2; elmG = t2 + t3;
    }
    else if (elmH < 120) {
    elmG = t1; elmB = t2; elmR = t1 - t3;
    }
    else if (elmH < 180) {
    elmG = t1; elmR = t2; elmB = t2 + t3;
    }
    else if (elmH < 240) {
    elmB = t1; elmR = t2; elmG = t1 - t3;
    }
    else if (elmH < 300) {
    elmB = t1; elmG = t2; elmR = t2 + t3;
    }
    else if (elmH < 360) {
    elmR = t1; elmG = t2; elmB = t1 - t3;
    }
    else {
    elmR = 0; elmG = 0; elmB = 0;
    }
    }

    elmR = Math.floor(elmR).toString(16);
    elmG = Math.floor(elmG).toString(16);
    elmB = Math.floor(elmB).toString(16);
    if (elmR.length == 1) elmR = "0" + elmR;
    if (elmG.length == 1) elmG = "0" + elmG;
    if (elmB.length == 1) elmB = "0" + elmB;

    elmH = elmH + rate;
    if (elmH >= 360)
    elmH = 0;

    return '#' + elmR + elmG + elmB;
    }

  4. #4
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    apri firefox
    vai su strumenti > consolle errori javascript e puliscila
    carica la pagina con lo script
    riporta la lista degli errori che viene visualizzato dalla consolle
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  5. #5
    Gli errori sono i seguenti:

    Avviso: Era atteso ':', invece si è trovato 'weight'. Dichiarazione tralasciata.
    File sorgente: http://localhost:8080/myweb/style.css
    Riga: 4

    Avviso: Proprietà sconosciuta 'scrollbar-base-color'. Dichiarazione tralasciata.
    File sorgente: http://localhost:8080/myweb/style.css
    Riga: 18

    Avviso: Proprietà sconosciuta 'scrollbar-arrow-color'. Dichiarazione tralasciata.
    File sorgente: http://localhost:8080/myweb/style.css
    Riga: 19

    Avviso: Proprietà sconosciuta 'scrollbar-DarkShadow-Color'. Dichiarazione tralasciata.
    File sorgente: http://localhost:8080/myweb/style.css
    Riga: 20

    Avviso: L'utilizzo di captureEvents() è deprecato, consultare il bug 330494
    File sorgente: http://localhost:8080/myweb/index.htm
    Riga: 0

  6. #6
    Quelli sono errori css ( apparte l'ultimo che non è propriamente un errore ).
    Rileggendo il tuo posto ho notato queste righe:
    codice:
    Se clicco 2 volte sull'index dalla cartella di lavoro riesco a vedere l'effetto ma se nella barra degli indirizzi di mozilla scrivo:
    http://localhost:8080/myweb/index.htm
    l'effetto non viene visualizzato.
    Specifica: quando clicchi due volte, apri il file con Firefox o Explorer?
    Nel primo caso è un problema del webserver, nel secondo lo script non funziona con Firefox.

  7. #7
    Si lo apro con Mozilla. In effetti con IE non ho alcun problema nel visualizzare l'effetto.
    Cosa devo cambiare nello script per vederlo anche su mozilla? Oppure c'è qualche alternativa per avere un effetto simile?

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.