【问题标题】:Is my server missing a javascript component that it requires?我的服务器是否缺少所需的 javascript 组件?
【发布时间】:2012-12-26 08:02:20
【问题描述】:

我正在尝试创建一个播放 HTML5 视频并显示 SRT 字幕的网站。我试图模仿 here 所做的事情,但是当我在 my website 上做同样的事情时,FireBug 在 javascript 调试器中报告 TypeError: textTrack[i] is undefined。我正在使用 apache2、php 等运行 Debian Squeeze 服务器。是否需要安装任何组件才能使 javascript 正常工作?我尝试编辑驱动字幕的 htmltexttrack.js 以硬编码 i 的值,但它仍然报告未定义的错误,让我相信缺少一些基本的 javascript。

【问题讨论】:

  • JavaScript 在您的浏览器中运行(有一些例外,例如node.js),而不是在服务器上。您是否尝试过JS Hint 进行调试?
  • JavaScript 通常在客户端运行,因此不应该有任何服务器依赖性导致这种情况。一切都在客户端。
  • 在调试器中查看这两个站点,很明显,您认为阻止站点显示字幕的相同异常也发生在原始站点上。所以忘记那个想法吧。
  • textTrack 数组为空。可以在 Firebug 的 DOM 选项卡中检查它,或将其记录到控制台。要么没有正确实现插件,要么存在错误......更可能是实现问题
  • 我看原站没有抛出异常,但是为了测试,我把原站的源码复制过来,放到here,还是不行。跨度>

标签: javascript html html5-video


【解决方案1】:

我已经在 firebug 中检查了您的代码,但由于某种原因,我的浏览器无法访问 html5texttrack.js 中原始源上的字幕文件(诅咒我可以直接从浏览器访问该文件)

<track kind="caption" src="http://accessibility.oit.ncsu.edu/video/audiodescriptions/source/captions.vtt" label="English" />

firebug 不会产生任何错误,但在控制台日志中,有一个读取行用于请求此文件的GET 方法。

我做了什么,将字幕文件复制到我的计算机上,然后将加载字幕的代码行更改为:

<track kind="caption" src="captions.vtt" label="English">

一切都像一个魅力......

【讨论】:

  • 这让我相信这可能是一个权限问题,所以我将视频和字幕更改为我服务器上的文件,并对它们做了chmod 770,但同样的错误仍然存​​在抛出。
  • 能否提供链接?因为在这个link 中,标题仍在原始服务器上
  • 它是here。需要注意的是,我的 /var/www/media 是我服务器上其他地方的符号链接。
  • 都和你字幕文件的格式有关。 eols 应该是 unix 格式化的,而不是 windows 格式化的。这意味着行尾应该只有\n[LF],但您的字幕文件在文件末尾有\r\n[CR][LF]。文件末尾也不应该有任何多余的空行...(这些是html5texttrack.js文件的限制,您可以通过调试找到它们)所以,要么编辑您的字幕文件以满足html5texttrack.js标准,或更改html5texttrack.js。您可以使用记事本++轻松编辑字幕文件
  • 没问题,我很开心 :) 我忘了提到你的字幕文件的一个大问题......如果你将你的字幕文件与原始文件进行比较,你可以在原始文件中看到文件中的毫秒分隔符为.,但在您的文件中,它们为,,因此将毫秒分隔符的所有, 更改为.,我认为它会正常工作...
猜你喜欢
  • 2020-01-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-04-23
  • 2012-09-06
  • 1970-01-01
  • 2021-06-07
相关资源
最近更新 更多