首页 > 解决方案 > 尝试使用 JavaScript 设置视频的 src 属性,得到 TypeError: videofile is null

问题描述

我有一个视频和一些 JavaScript 代码。代码说

var videoIDRAW = getUrlVars()["watch"];
var videoID = videoIDRAW.toString();
var videoIDFILE = videoID.concat(".mp4");
var videofile = document.getElementById("vid");

videofile.setAttribute("src", videofile)

视频文件是

<video width="912" height="513" controls >
<source id="vid" src="" type="video/mp4">

</video>

为什么我会收到 TypeError:videofile 为空?

编辑:修改videofile.setAttribute("src", videofile.toString()),同样的错误

标签: javascripthtmlnull

解决方案


toString()不是一个神奇的工具。无论如何我认为它应该被默认调用。

正如 Aaros 指出的那样,问题在于您的算法试图做什么。您正在尝试将 DOM 元素设置为其自身属性之一的值。视频的 src 属性需要是视频的 URL(或 blob,但这更复杂)。

你不是这个意思吗?

videofile.setAttribute("src", videoIDFILE); // Or videofile.src = videoIDFILE

编辑:不要忘记在正文之后执行脚本。通过将script标签移动到正文的底部(但仍在内部),或者您可以使用您可以在那里找到的侦听器:当页面完全加载时如何执行函数?


推荐阅读