使用Javascript动态替换HTML5标签

时间:2013-05-29 10:07:54

标签: javascript html5 video replace

我很少理解Adobe Captivate如何生成它的内容,但它使用javascript动态生成html代码。我想在主html页面中添加一段Javascript代码,不断检查这一行:

<video src="vr/Vi1.mp4" style="display: block; left: 0px; top: 0px; width: 1280px; height: 664px;"></video>

并将其替换为我选择的视频标签。

到目前为止我研究过的大多数“替换脚本”的问题是它们只在页面打开时才执行,但由于代码是动态生成的,标签可以在任何给定时刻出现,我需要一些东西每次更改内容时检查页面。

任何帮助将不胜感激! 此致

1 个答案:

答案 0 :(得分:0)

您需要检测元素何时添加到页面,特别是<video>元素。有一个DOM事件,但它已被弃用 - 请参阅此answer。答案可能对您有所帮助,接受的答案建议setInterval()

试试这个:

function checkVideo() {
    var videoTags = document.getElementsByTagName("video");
    if (videoTags.length > 0) {
        // do something with video
    }
    setTimeout( checkDOMChange, 1000); // schedule the next check

}

然后在加载文档时运行checkVideo()(例如$(document).ready(checkVideo)加载jQuery)。

jQuery还有一个函数live(),它可以解决你的问题,但现在已经弃用了。