Jquery 动态更新AblePlayer';s(html5视频)源代码

Jquery 动态更新AblePlayer';s(html5视频)源代码,jquery,twig,html5-video,Jquery,Twig,Html5 Video,对于我的网站,我们需要根据一些用户输入动态更新AblePlayer的源代码。我们使用的是CMS,在CMS中,用户输入我们需要的文件ID。然后,使用该ID,我们对正在使用的API进行ajax调用。对这些ajax调用的响应包含我需要的信息。相关代码: <video data-able-player id="a-player" preload="auto" data-youtube-id="" data-transcript-div="transcript" playsinl

对于我的网站,我们需要根据一些用户输入动态更新AblePlayer的源代码。我们使用的是CMS,在CMS中,用户输入我们需要的文件ID。然后,使用该ID,我们对正在使用的API进行ajax调用。对这些ajax调用的响应包含我需要的信息。相关代码:

<video data-able-player
  id="a-player"
  preload="auto"
  data-youtube-id=""
  data-transcript-div="transcript"
  playsinline >
</video>
现在,我把它挂在一个按钮上,用于测试。在生产中,我想它会被载入页面

当我检查视频元素时,源代码会像应该的那样更新,但视频仍然无法播放

如果这有什么关系的话,我们正在使用小树枝作为模板


我知道这是一种特殊情况,但我想知道是否有人遇到过类似的问题并知道如何解决它?

如果将来有人遇到同样的问题,我们通过在工艺方面设置不同的字段来解决。我们将字段设置为接受包含VTT文件、语言和类型(音频描述、成绩单、字幕)的自定义条目。然后,在.twig文件中:

<video id="video-{{block.youtubeId}}" preload="auto"
      data-able-player
      data-transcript-div="able-transcript-{{block.youtubeId}}"
      data-youtube-id="{{block.youtubeId}}" >
       {% for resource in block.videoResources %} {# Resource entry itself #}
        {% for file in resource.initiativesResourceEntry %} {# File types #}
          {% for v in file.vttFile %} {# Actual file #}
            {% set req_url = siteUrl ~"file/get_file?path="~v.getUrl() %}
              <track kind="{{file.fileType}}" src="{{req_url}}" srclang="{{file.fileLang}}">
          {% endfor %} {# End actual file #}
        {% endfor %} {# End types #}
        {% endfor %} {# End resource entry loop #}
    </video>

{%用于block.videoResources%}{#资源项本身#}
{%for resource.initiativesResourceEntry%}{{{#文件类型}
{file.vttFile%}{{实际文件}
{%set-req\u-url=siteUrl~“file/get\u-file?path=“~v.getUrl()%}
{%endfor%}{#结束实际文件#}
{%endfor%}{{#结束类型#}
{%endfor%}{#结束资源输入循环#}
这有点难看,但它很管用。它创建视频播放器,然后添加尽可能多的文件作为曲目。这样,一个视频可以有音频描述、字幕、字幕,或者任何支持的语言中三者的任意组合

我们使用的是Craft 2,所以我不知道它是否是Craft 2,但我无法直接访问,例如,
block.videoResources.initiativesResourceEntry
。我不得不循环每一步,这很烦人,但它奏效了

<video id="video-{{block.youtubeId}}" preload="auto"
      data-able-player
      data-transcript-div="able-transcript-{{block.youtubeId}}"
      data-youtube-id="{{block.youtubeId}}" >
       {% for resource in block.videoResources %} {# Resource entry itself #}
        {% for file in resource.initiativesResourceEntry %} {# File types #}
          {% for v in file.vttFile %} {# Actual file #}
            {% set req_url = siteUrl ~"file/get_file?path="~v.getUrl() %}
              <track kind="{{file.fileType}}" src="{{req_url}}" srclang="{{file.fileLang}}">
          {% endfor %} {# End actual file #}
        {% endfor %} {# End types #}
        {% endfor %} {# End resource entry loop #}
    </video>