Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    Errore: previsto identificatore

    Ho un problema con uno script js che viene eseguito correttamente da opera e firefox, ma che genera un errore in IE7.

    Lo script viene richiamato con questo codice:

    codice:
    <script language="javascript" src="path/links.js">
    </script>
    il codice js è il seguente:
    codice:
    var links = new Array();
    var urlBase = "http://www.shishii.com/dummy/index.php?id=";
    var here = location;
    
    links[0] = new Link(urlBase + "50","menuprimo","NewsLetter");
    links[1] = new Link(urlBase + "29","menualtri", "Cerca");
    links[2] = new Link(urlBase + "30","menualtri","Contatto");
    links[3] = new Link(urlBase + "111","menualtri","Feed-RSS");
    
    function Link(url, class, text) {
    	this.url = url;
    	this.class = class;
    	this.text = text;
    	return this;
    }
    
    for (i = 0; i < links.length; i++) {
    	var myspan = "<span class=\"" + links[i].class + "\">" + links[i].text + "</span>";
    	if (here != links[i].url) {
    		document.write("<a href=\"" + links[i].url + "\">");
    		document.write(myspan);
    		document.write("</a>");
    	}
    	else {
    		document.write(myspan);
    	}
    }
    lo script non fa altro che generare il codice html per un menu superiore orizzontale in cui l'href viene creato solo per i link a pagine che NON sono quella corrente.

    IE7 non lo esegue e dice che alla linea 12, riga 20 (non so di cosa) è previsto un identificatore, che evidentemente gli manca.

    La riga 12 dello script sarebbe "this.url = url;"

    Grazie.
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  2. #2
    ciao
    prova a sostituire here=location.href

  3. #3
    non cambia nulla, stesso errore.
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  4. #4
    Risolto.

    il problema era nell'uso della variabile che ho chiamato "class", in quanto gli interpreti di alcuni browser la considerano parola riservata.
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

  5. #5

    Re: Errore: previsto identificatore

    Ciao allora proviamo a invertire l'ordine dei costruttori:

    codice:
    var links = new Array();
    var urlBase = "http://www.shishii.com/dummy/index.php?id=";
    var here = location.href;
    
    function Link(url, class, text) {
                 var obj=new Object();
    	obj.url = url;
    	obj.class = class;
    	obj.text = text;
    	return obj;
    }
    
    
    
    links[0] =  Link(urlBase + "50","menuprimo","NewsLetter");
    links[1] =  Link(urlBase + "29","menualtri", "Cerca");
    links[2] =  Link(urlBase + "30","menualtri","Contatto");
    links[3] =  Link(urlBase + "111","menualtri","Feed-RSS");
    
    
    for (i = 0; i < links.length; i++) {
    	var myspan = "<span class=\"" + links[i].class + "\">" + links[i].text + "</span>";
    	if (here != links[i].url) {
    		document.write("<a href=\"" + links[i].url + "\">");
    		document.write(myspan);
    		document.write("</a>");
    	}
    	else {
    		document.write(myspan);
    	}
    }

  6. #6
    Ti ringrazio, ma molto più semplicemente ho cambiato il nome della variabile da "class" a "classe" ed è tutto ok.
    Marco Allegretti
    shishii@tiscalinet.it
    Lang: PERL, PHP, SQL.
    Linux user n° 268623 Fedora Core 10, Fedora Core 6, Debian Sarge on mips

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.