Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 视频结束后在视频标签内显示iframe或div_Javascript_Html_Video - Fatal编程技术网

Javascript 视频结束后在视频标签内显示iframe或div

Javascript 视频结束后在视频标签内显示iframe或div,javascript,html,video,Javascript,Html,Video,我有视频标签: <video id="test" autobuffer style="width:100%;" onClick="this.play(); controls> <source src="some file" type="video/mp4"> </video> 您需要替换整个视频元素,而不是尝试替换其中的子元素。因此,使用parentNode获取视频元素的父元素 document.getElementById('te

我有视频标签:

<video id="test" autobuffer style="width:100%;" onClick="this.play(); controls>
        <source src="some file" type="video/mp4">

    </video>

您需要替换整个视频元素,而不是尝试替换其中的子元素。因此,使用
parentNode
获取视频元素的父元素


document.getElementById('test').parentNode.innerHTML=''

也许您可以这样做:


你只需要添加JavaScript代码来隐藏视频结束时的内容,我想这会让你的工作^^ ^

是否需要在视频标签中显示它?为什么你不能用你的自定义广告替换视频元素呢?不,不是必须的,但是你想留在那个地方,或者视频标签上面……你应该使用一些css和javascript(隐藏/显示)逻辑,因为我认为你不能用那种方式操纵视频元素
    <script type='text/javascript'>
    var video = document.getElementsByTagName('test')[0];
        video.onended = function(e) {
        document.getElementById('test').innerHTML= '<iframe src="http://www.example.com/myframe" width="100" height="100"></iframe>';
        };
</script>
<div id="test">  
    <video id="v" controls>
        <source id='mp4' src="http://media.w3.org/2010/05/sintel/trailer.mp4" type='video/mp4'>
    </video>
    <iframe id="overlay" src="http://www.w3schools.com"></iframe>
</div>
#test {
    position: relative;
}

#overlay {
    position: absolute;
    ... 
}