js是字幕文件吗

JavaScript08

js是字幕文件吗,第1张

不是。

_sJavaScript(简称Js)是一种具有函数优先的轻量级,解释型或即时编译型的编程语言。

__s为扩展名的文件,是用javascript脚本语言编写的。js文件常见的有两种用法。

?1.在网页里使用:一般不能直接打开,只有配合网页使用,如果是想破解某网站的在线电影等,仅从js文件入手可能性不大,建议使用专门的抓取工具,如wpe,抓取网络封包,再对封包分析,js可以使用记事本编辑。

?2.在单机使用:一般可以用来做为一个可执行程序直接双击就可以运行,当然前提是计算机没有安装网页设计软件。

前端项目中,有个视频能播放srt字幕并能循环复读指定区间的功能要求,研究了下,思路如下:

1、web端关于视频 都用框架video.js 还挺方便,直接给video 标签初始化,设置宽、高、自动播放、缩略图等,并能监听播放,拖放....

2、将srt 字幕文件 进行读取,并转为对象数组

srt格式为:

转化为对象数组:

[     {sn: "0", startTime: 0.89, endTime: 7.89, content: "For me traveling isn't about visiting the major areas, taking a photo and crossing it:"},

     {sn: "1", startTime: 8.38, endTime: 14.85, content: "It's about understanding and immersing yourself in a different culture"}

   ]

3、监听timeupdate 函数,将转为的字幕数组根据时间线 随时播放出来,将当前时间 player.currentTime() 和字幕初始时间 和 结束时间进行比较

实现为:

4、复读功能 ,还是监听timeupdate 当播放时间超过后,重新设置播放时间为初始时间,实现反复播放

有需求,请互相讨论 Q 1873893691

JS 滚动字幕文字新法

我想大家都看过各种各样的滚动(最常用的就是用在新闻的更新上面),一般情况下只要不是图片,都是用HTML本身就有提供一个很不错的滚动标记——marquee来完成的(用JS也可以同样实现这种效果);当然并不是说图片就不能那样做。

以下为marquee的一些基本的参数:

该标记语法格式如下:

<marquee

aligh=left|center|right|top|bottom

bgcolor=#n

direction=left|right|up|down

behavior=type

height=n

hspace=n

scrollamount=n

Scrolldelay=n

width=n

VSpace=n

loop=n>内容</marquee>

下面解释一下各参数的含义:

align:是设定活动字幕的位置,除了居左、居中、居右三种位置外,又增加靠上(top)和靠下(bottom)两种位置。

Bgcolor:用于设定活动字幕的背景颜色,可以使用英文的单词也可以是十六进制数的。

Direction:用于设定活动字幕的滚动方向是向左(left)、向右(right)、向上(up)、向下(down)。

Behavior:用于设定滚动的方式,主要由三种方式:

behavior="scroll"表示由一端滚动到另一端;

behavior="slide":表示由一端快速滑动到另一端,且不再重复;

behavior="alternate"表示在两端之间来回滚动。

Height:用于设定滚动字幕的高度。

Width:则设定滚动字幕的宽度。

Hspace和vspace:分别用于设定滚动字幕的左右边框和上下边框的宽度。

Scrollamount:用于设定活动字幕的滚动距离。数值越小,滚动的速度就越快。

scrolldelay:用于设定滚动两次之间的延迟时间,数值越小,间隔就越小。

Loop:用于设定滚动的次数,当loop=-1表示一直滚动下去,直到页面更新。其中默认情况是向左滚动无限次,字幕高度是文本高度;滚动范围:水平滚动的宽度是当前位置的宽度;垂直滚动的高度是当前位置的高度。

现在要介绍的是一种新型的滚动,利用JS的方法来做字幕的滚动:向上,在中间停顿一到两秒(就像经典的这种):

将以下代码贴到您要显示的位置就可以了。以上已经将网站的这种滚动的做法做了一个大概的介绍。

具体效果可以看:运行代码框

<script>

var marqueeContent=new Array() //定义一个数组,用来存放显示内容

marqueeContent[0]='<A href="#" onclick="reinitMarquee()">刷新最新列表</FONT></A>'

marqueeContent[1]='<a href=http://www.blueidea.com/updatelist.asp target=_blank>站点最新更新六十条</a>'

marqueeContent[2]='<A href=http://www.blueidea.com/tech/graph/2003/875.asp target=_blank>羽毛效果制作教程</a>'

marqueeContent[3]='<A href=http://www.blueidea.com/tech/program/2003/831.asp target=_blank>MySQL&ASP</a>'

marqueeContent[4]='<A href=http://www.blueidea.com/tech/web/2003/874.asp target=_blank>初步了解CSS3</a>'

marqueeContent[5]='<A href=http://www.blueidea.com/tech/graph/2003/864.asp target=_blank>Fireworks MX 2004执行面版操作</a>'

marqueeContent[6]='<A href=http://www.blueidea.com/tech/graph/2003/872.asp target=_blank>Fireworks MX 2004等高渐变填充</a>'

marqueeContent[7]='<A href=http://www.blueidea.com/photo/gallery/2003/873.asp target=_blank>瓶子里的花</a>'

marqueeContent[8]='<A href=http://www.blueidea.com/tech/graph/2003/871.asp target=_blank>Fireworks MX 实现选项卡式效果</a>'

marqueeContent[9]='<A href=http://www.blueidea.com/photo/gallery/2003/870.asp target=_blank>情侣:黑白的爱情空气</a>'

marqueeContent[10]='<A href=http://www.blueidea.com/tech/graph/2003/866.asp target=_blank>制作 MAC 风格的苹果标志</a>'

marqueeContent[11]='<A href=http://www.blueidea.com/tech/graph/2003/868.asp target=_blank>蛋壳制作及破壳而出的人物合成</a>'

var marqueeInterval=new Array() //定义一些常用而且要经常用到的变量

var marqueeId=0

var marqueeDelay=4000

var marqueeHeight=16

//接下来的是定义一些要使用到的函数

Array.prototype.random=function() {

var a=this

var l=a.length

for(var i=0i<li++) {

var r=Math.floor(Math.random()*(l-i))

a=a.slice(0,r).concat(a.slice(r+1)).concat(a[r])

}

return a

}

function initMarquee() {

marqueeContent=marqueeContent.random()

var str=''

for(var i=0i<Math.min(3,marqueeContent.length)i++) str+=(i>0?' ':'')+marqueeContent[i]

document.write('<div id=marqueeBox style="overflow:hiddenheight:'+marqueeHeight+'px" onmouseover="clearInterval(marqueeInterval[0])" onmouseout="marqueeInterval[0]=setInterval(\'startMarquee()\',marqueeDelay)"><div>'+str+'</div></div>')

marqueeId+=2

if(marqueeContent.length>3)marqueeInterval[0]=setInterval("startMarquee()",marqueeDelay)

}

function reinitMarquee() {

js_scroll_content.src='scroll_content2.js'

marqueeContent=marqueeContent.random()

var str=''

for(var i=0i<Math.min(3,marqueeContent.length)i++) str+=(i>0?' ':'')+marqueeContent[i]

marqueeBox.childNodes[(marqueeBox.childNodes.length==1?0:1)].innerHTML=str

marqueeId=2

}

function startMarquee() {

var str=''

for(var i=0(i<3)&&(marqueeId+i<marqueeContent.length)i++) {

str+=(i>0?' ':'')+marqueeContent[marqueeId+i]

}

marqueeId+=3

if(marqueeId>marqueeContent.length)marqueeId=0

if(marqueeBox.childNodes.length==1) {

var nextLine=document.createElement('DIV')

nextLine.innerHTML=str

marqueeBox.appendChild(nextLine)

}

else {

marqueeBox.childNodes[0].innerHTML=str

marqueeBox.appendChild(marqueeBox.childNodes[0])

marqueeBox.scrollTop=0

}

clearInterval(marqueeInterval[1])

marqueeInterval[1]=setInterval("scrollMarquee()",20)

}

function scrollMarquee() {

marqueeBox.scrollTop++

if(marqueeBox.scrollTop%marqueeHeight==(marqueeHeight-1)){

clearInterval(marqueeInterval[1])

}

}

initMarquee()

</script>