Код:
<SCRIPT language="JavaScript">

// ------------- Браузер Детектор---------------
// Возможные значения для браузера являются:
// "netscape"
// "opera" <--(ewww)
// "msie" <--(двойной ewww)
// "робот"
// "неизвестно"
// Возможные значения для версии являются:
// любое числовое значение (3, 2.02, 4.04 и др.)
// 0, если невозможно определить

var browser = "unknown";
var version = 0;

if (navigator.userAgent.indexOf("Опера") >= 0)
browser = "opera";
else if (navigator.userAgent.indexOf("obot") >= 0)
браузер = "robot";
else if (navigator.appName.indexOf("etscape") >= 0)
браузер = "netscape";
else if (navigator.appName.indexOf("icrosoft") >= 0)
браузер = "msie";

version = parseFloat ("навигатор".appVersion);
if (isNaN(версию)) версия = 0;
if ((browser == "msie")&&(version == 2)) версия = 3;

// ------------------ Градиент Выходной--------------------
// Синтаксис для использования:

// градиент(TEXT_STRING_HERE,HEXCODES_STRING_HERE);

// использовать аналогичным образом можно использовать документ.write();
// обратите внимание, это не может использоваться, чтобы возвратить строковое значение.
// градиент() принимает два arguements. первый будет
// быть изначально чистой текстовой строки. (не htmlcodes)
// второй аргумент-это строка цвет hexcodes
// разделенных пробелами, через который текст должен
// прогресс. например, скажем, вы хотели бы распечатать
// строка "градиент", и вы хотели, чтобы он
// прогресс от синего к красному. цветовой код синий
// 4444FF, и цветовой код красный FF4444.
// принятия этих двух кодексов, и исходная строка,
// где-то в теле документа, который вы бы
// запись в тег <Script>, следующие:
// gradient("градиент","4444FF FF4444");
// если, однако, вы хотели, чтобы это прогресс через три
// или более цветов, ее также просто, как добавление их в
// строка цветовые коды. важно помнить,
// однако, что строка должна быть цвета HEXCODES, и
// не просто названия цветов, (e.x- "красный", "желтый")
// если это кажется слишком сложным, то, возможно,
// вы должны попробовать что-то простое, как срывая
// некоторых раздражает status bar text scroller. =Ю
// одна последняя вещь. если вы злоупотребляете этот скрипт, я могу
// довольно много gaurantee люди будут ненавидеть ваши веб-страницы.
// на самом деле, это javascript, интенсивно использующих память. если
// перестарайся, ты грохот некоторыми браузерами посетителей.
// ------------------------------------------------------

// Таблица подстановки
var tohex = new Array(256);
var hex = "0123456789ABCDEF";
var count = 0;
for (x=0; x<16; x++) {
for (y=0; y<16; y++) {
tohex[count] = hex.charAt(x) + hex.charAt(y);
count++;
}
}

//ColorCode конструктор
функция ColorCode(hexcode) {
если (hexcode.длина == 7) {
это.r = parseInt(hexcode.substring(1,3),16);
это.g = parseInt(hexcode.substring(3,5),16);
это.b = parseInt(hexcode.substring(5,7),16);
}
else if (hexcode.длина == 6) {
это.r = parseInt(hexcode.substring(0,2),16);
это.g = parseInt(hexcode.substring(2,4),16);
это.b = parseInt(hexcode.substring(4,6),16);
}
else {
это.r=.g=.b = 0;
alert("ошибка: ColorCode конструктор failed");
}
if (isNaN(это.r)||isNaN(это.г)||isNaN(это.b))
alert("ошибка: ColorCode конструктор failed");
}

// ColorList конструктор
функция ColorList(hexcodes) {
var i = 0;
var c = 0;
это.коды = new Array(Math.round(hexcodes.длина/7));
while (i < hexcodes.length) {
if (isNaN(parseInt(hexcodes.substring(i,i+6),16))) ++i;
else {
это.коды[c] = new ColorCode(hexcodes.substring(i,i+6));
i += 7;
c++;
}
}
это.len = c;
}

функция interpolate (x1, y1, x3, y3, x2) {
если (x3 == x1) y1 вернуть
else return (x2-x1)*(y3-y1)/(x3-x1) + y1
}

// x=индекс письмо, y=количество букв, z=Количество цветов
функция lowcolorindex (x, y, z) {
if (y == 1) return 0
else return Math.floor( (x*(z-1))/(y-1) )
}

функция hicolorindex (x, y, z, low) { 
if ( low*(y-1) == x*(z-1) ) return низкий
else if (y == 1) return 0
else return Math.floor( (x*(z-1))/(y-1) + 1 )
}

функция градиента (текст к нему,thecolors) {
если (((browser == "netscape")||(browser == "msie")||(browser == "opera"))&&(версии>=3.0)) {
var colors = new ColorList(thecolors);
var numcolors = цвета.len;
var numchars = текст к нему.длины;
var rr = 0;
var gg = 0;
var bb = 0;
var lci = 0; //Нижний индекс цвета
var hci = 0; //высокий индекс цвета
for (i=0; i<numchars; ++i) {
lci = lowcolorindex(я, numchars, numcolors);
hci = hicolorindex(я, numchars, numcolors, lci);
rr = Math.round(interpolate( lci/(numcolors-1), цветов.коды[lci].r, hci/(numcolors-1), цветов.коды[hci].r, i/(numchars-1)));
gg = Math.round(interpolate( lci/(numcolors-1), цветов.коды[lci].g, hci/(numcolors-1), цветов.коды[hci].g, i/(numchars-1)));
bb = Math.round(interpolate( lci/(numcolors-1), цветов.коды[lci].b, hci/(numcolors-1), цветов.коды[hci].b, i/(numchars-1)));
if (browser == "opera") {
rr = 255 - rr;
gg = 255 - gg;
bb = 255 - bb;
}
документ.write(текст к нему.charAt(i).fontcolor(tohex[rr]+tohex[gg]+tohex[bb]));
}
}
другой документ.write(текст к нему); // неопознанный браузер, лучше не пытаться что-то фантазии
}


</SCRIPT>

<DIV align=center>
<SCRIPT language="JavaScript">
градиент("всегда хотел быть гением?","FF0000 FFFFFF 0000FF");
документ.write('<BR>');
градиент("...ну...сделать это...","444444 DDDDDD 444444");
документ.write('<BR><FONT size=+1><TT><B>');
градиент("притягательный, эффективными, градиент цвета!","FF8888 FFFF88 88FF88 88FFFF 8888FF FF88FF");
документ.write('</B></TT></FONT><BR><FONT size=2>');
градиент("но, хм, просто будьте осторожны, чтобы не переусердствовать","884488 444488 448888 448844 888844 884444");
документ.write("</FONT><BR>");
</SCRIPT>