Вот такая проблема. Скачал скрипт окна, текст в котором плавно поднимается вверх. В опере и ИЕ все отлично работает. В Файрфоксе не работает. Помогите пожалуйста с моей проблемой.


Текст скрипта:


<div id="content"><h2>Latest news</h2></div>
<script language="JavaScript1.2">



//Specify the marquee's width (in pixels)

var marqueewidth=170

//Specify the marquee's height

var marqueeheight=200

//Specify the marquee's scroll speed (larger is faster)

var speed=1

//Specify the marquee contents

var marqueecontents='<ul class="latestnews"><li class="latestnews"><a href="/en/news/2-central-management-console/" class="latestnews" title="33333333 place.">11111111</a><br></li><br><a href="/en/news/" class="latestnews_more">All news</a></ul>'

if (document.all)

document.write('<marquee direction="up" scrollAmount='+speed+' style="width:'+marqueewidth+';height:'+marqueeheight+'">'+marqueecontents+'</marquee>')



function regenerate(){

window.location.reload()

}

function regenerate2(){

if (document.layers){

setTimeout("window.onresize=regenerate",450)

intializemarquee()

}

}



function intializemarquee(){

document.cmarquee01.document.cmarquee02.document.write(marqueecontents)

document.cmarquee01.document.cmarquee02.document.close()

thelength=document.cmarquee01.document.cmarquee02.document.height

scrollit()

}



function scrollit(){

if (document.cmarquee01.document.cmarquee02.top>=thelength*(-1)){

document.cmarquee01.document.cmarquee02.top-=speed

setTimeout("scrollit()",100)

}

else{

document.cmarquee01.document.cmarquee02.top=marqueeheight

scrollit()

}

}



window.onload=regenerate2

</script>





<ilayer width=&{marqueewidth}; height=&{marqueeheight}; name="cmarquee01">

<layer name="cmarquee02" width=&{marqueewidth}; height=&{marqueeheight};></layer>

</ilayer>

Выделить код

Код:

if (document.all)

document.write('<marquee <...> ')

и далее

Выделить код

Код:

<ilayer <...> >

<layer <...> ></layer>

</ilayer>

Тут все понятно. По document.all определяется, что это IE, с давней версии поддерживавший marquee, а если это Netscape Communicator 4.7, должен по идее срабатывать тэг layer.
Скрипт устарел лет на пять.
Что мы видим сейчас:
document.all - нестандартный способ адресации, в нормальных браузерах уже давно работает document.getElementById , и даже в IE начиная, кажется, с версии 5.0. Mozilla тэг marquee поддерживает, так что для нее вполне можно было бы его выводить, но автор скрипта не знает такого браузера. Зато тэг layer сейчас не поддерживается ни одним браузером. Результат - заточенность под Експлорер.
Вариант решения:

Выделить код

Код:

if(document.getElementById || document.all)

Большое спасибо и +1.

Так оно заработало?

yAnTar
А еще проще вообще выкинуть этот скрипт и всунуть непосредственно тег MARQUEE.

MARQUEE forces the text to be scrolled across the browser window. Like BLINK, MARQUEE is not a valid HTML element.
Start tag: required, End tag: required.
Compatibility: MSIE, Netscape 7.
Attributes: ALIGN, WIDTH, HEIGHT, BEHAVIOR, DIRECTION, LOOP, SCROLLAMOUNT, SCROLLDELAY, ID, CLASS, STYLE, and intrinsic events attributes.
Attribute specification:
ALIGN: Specifies the scrollable content alignment. May be top, bottom, center, left or right
WIDTH: Specifies the width of the scrollable area, in pixels
HEIGHT: Specifies the height of the scrollable area, in pixels
BEHAVIOR: Specifies the scroll type
Slide - content moves in and stops
Scroll - content moves like a running line
Alternate - content moves between borders
DIRECTION: Specifies the moving direction
Left - from right to left
Right - from left to right (default)
Up - from bottom to top
Down - from top to bottom
LOOP: Specifies the repeat number, which is infinite by default
SCROLLAMOUNT: Specifies the moving step, in pixels
SCROLLDELAY: Specifies the moving speed, in milliseconds
Example:
<MARQUEE DIRECTION="left">Go left!</MARQUEE>