Struppi: eval()

Beitrag lesen

Hallo!

Unter http://www.aaj.de/script.txt findet sich das Script, um das es in diesem Beitrag geht. Weil es etwas länger ist, wollte ich es hier nicht posten...

Gibt es eine Möglichkeit, die Funktion eval() zu umgehen? Sie taucht ja an zwei Stellen auf. Hintergrund ist der, dass dies eine kleine Spielerei ist, die einige eBay-Mitglieder auf ihren Seiten eingesetzt haben (hatten). Jedoch wird die Funktion eval() seit kurzem von eBay nicht mehr angenommen (d.h. "zensiert"), sodass das Script nicht mehr lauffähig ist...

Wäre toll, wenn Ihr mir/uns helfen könntet...

eval ist evil und in der Regel nicht nötig.

in deinem Beispiel natürlich auch nicht:

if (isNetscape) {
        this.obj = eval("document.dot" + i);
    } else {
        this.obj = eval("dot" + i + ".style");
    }

Das ist eh unsauber dieses 'isNetcape' beruht darauf das der appName String Netscape enthält, was an dieser Stelle Unsinn ist. Warum prüfst du nicht auf das was du brauchst?

var obj = document['dot' + i]; // Ist auch für den IE besser.

if(typeof obj.style == 'undefined') this.obj = obj;
else this.obj = obj.style;

Netscape 7 kennt nämlich style.

Struppi.