HTML5视频源是否可能具有#

时间:2019-10-02 22:10:36

标签: html video

以下操作无效,因为不允许使用“#”。其他字符都可以。

加载带有视频的页面时,视频不显示。删除“#”后,它可以工作。

  <video id="video" defaultMuted autoplay playsinline controls>
    <source src="/media/movie/Crash,()<>{}@&*&(_) Course #15.mp4" type="video/mp4">
    Your browser does not support the video tag.
  </video>

是否可以在视频文件中保留“#”,以使视频文件名更具描述性。

2 个答案:

答案 0 :(得分:1)

RFC 3986将某些字符定义为保留字符,因此您不能直接使用它们。但是,您可以对URL进行“百分比编码”,它应该可以正常工作。

!    #    $    &    '    (    )    *    +    ,    /    :    ;    =    ?    @    [    ]
%21  %23  %24  %26  %27  %28  %29  %2A  %2B  %2C  %2F  %3A  %3B  %3D  %3F  %40  %5B  %5D

Space is %20.

这将导致

%2Fmedia%2Fmovie%2FCrash%2C%28%29%3C%3E%7B%7D%40%26%2A%26%28_%29%20Course%20%2315.mp4`

或更简单

/media/movie/Crash%2C%28%29%3C%3E%7B%7D%40%26%2A%26%28_%29%20Course%20%2315.mp4

获取链接。

答案 1 :(得分:0)

是一个特殊字符,必须为encoded。您的文件名还包含,该字符立即以特殊字符突出显示。

一个完全安全且经过编码的版本看起来像

<video id="video" defaultMuted autoplay playsinline controls>
  <source src="/media/movie/Crash%2C%28%29%3C%3E%7B%7D%40%26%2A%26%28_%29%20Course%20%2315%0A.mp4" type="video/mp4">
   Your browser does not support the video tag.
</video>

通常,您应仅使用字母数字字符,并在文件名和链接中添加下划线(_)或连字符(-)。这样可以确保整个文件系统之间的最大兼容性,并且不需要URL编码。

是的,有可能,但不建议这样做。实际上,有数千种方法可以在不使用保留字符的情况下使文件名有意义。