【发布时间】:2019-10-21 16:29:46
【问题描述】:
我正在尝试以模式打开我的视频。我正在使用 javascript 创建按钮,在 click 方法上我想用嵌入的 youtube 视频打开模式,但我不断收到 404 错误。我的错误是什么:
我的 json 中有视频 ID,并且正在从那里调用视频 ID。包含表格的模态应该使用 youtube 视频调用另一个模态
我的代码:
HTML:
<div class="modal" tabindex="-1" role="dialog" id="drilldown">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title pull-left"></h5>
<div class="pull-right">
<a class="close" data-dismiss="modal" aria-label="Close" style="cursor: pointer;">
<span aria-hidden="true"><i class="fas fa-times"></i></span>
</a>
</div>
</div>
<div class="modal-body">
<div class="spin-wrapper">
<div class="spinner"></div>
</div>
<table id="table" class="table table-sm table-hover">
<thead>
<tr>
<th>Date</th>
<th>Name</th>
<th>Youtube</th>
</tr>
</thead>
<tbody></tbody>
</table>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
</div>
</div>
</div>
</div>
<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-body">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<!-- 16:9 aspect ratio -->
<div class="embed-responsive embed-responsive-16by9">
<iframe class="embed-responsive-item" src="" id="video" allowscriptaccess="always" allow="autoplay"></iframe>
</div>
</div>
</div>
</div>
</div>
JavaScript
json.forEach(elem => {
elem.youtube = `<a class="vl" id="${elem.video_id}" data-toggle="modal" data-src="https://www.youtube.com/embed/${elem.video_id}?autoplay=1" data-target="#myModal"><i class="fab fa-youtube"></i></a>
</a>`;
});
let table = $('#table').DataTable({
data: json,
columns: [{
data: 'date'
}, {
data: 'name'
}, {
data: 'youtube'
}]
});
});
let $videoSrc;
$('.vl').click(function() {
console.log(this);
$videoSrc = $(this).data("src");
// console.log($videoSrc);
});
$('#myModal').on('shown.bs.modal', function(e) {
$("#video").attr('src', $videoSrc + "?autoplay=1&modestbranding=1&showinfo=0");
})
$('#myModal').on('hide.bs.modal', function(e) {
$("#video").attr('src', $videoSrc);
})
当我单击模式时,我收到 404 错误。
【问题讨论】:
-
我删除了
table>thead标记并忘记了标题配置...更新了!
标签: javascript jquery bootstrap-4 youtube bootstrap-modal