如何在JS中更改基于源视频的查询字符串

时间:2018-11-13 22:24:54

标签: javascript

首先抱歉,如果我的英语不好。

如何通过JS在视频源中的ID查询中更改 CHANGE_THIS

示例:如果我访问“ localhost / index.html?id = video”,源将从“ / files / CHANGE_THIS / 1080p”更改为“ / files / 视频 / 1080p“

TS2339: Property 'message' does not exist on type '()'

2 个答案:

答案 0 :(得分:0)

提供源ID:

   <source id="source" src="/files/CHANGE_THIS/1080p" type='video/mp4'>

然后使用javascript:

   var url_string = window.location.href;
   var url = new URL(url_string);
   var c = url.searchParams.get("c");
   document.getElementById("source").src="/files/"+c+"/1080p" //your source

答案 1 :(得分:0)

首先,您要获取视频元素,这可以通过document.getElementById('my-video')完成。然后,您想获取<source>元素,可以使用document.getElementsByTagName('source')完成。请注意,即使您的示例中只有一个元素,它也会返回所有元素的NodeList集合。这样,您将需要第一个索引,例如document.getElementsByTagName('source')[0]。最后,您只想将源的.src设置为视频的.id,加上之前的视频即可。

这可以在下面看到:

const video = document.getElementById('my-video');
const source = document.getElementsByTagName('source')[0];
source.src = video.id + source.src;

console.log(source.src);
<video id="my-video" class="video-js" controls preload="auto" width="640" height="264" poster="poster.jpg" data-setup='{"fluid": true}'>
<source src="/files/CHANGE_THIS_BY_QUERY/1080p" type='video/mp4'>
</video>

请注意,您可能希望删除第一个/,因为这表示网站的根目录。根据文件夹的布局,您可能需要手动添加此斜杠,方法是将其从原始来源中删除并使用source.src = video.id + / + source.src