Mình muốn làm một cái iframe để nhúng vào soft.
Yêu cầu là chạy random một video có sẵn, load lại một video random khác khi:
_ sau một khoảng thời gian đặt trước.
_ sau khi video hiện tại chạy hết.
làm cái nào cũng được, cả hai cái thì càng tốt, mỗi cái code riêng.
Sau mấy ngày mò thì code được thế này
Tạo 1 array chứa các link src, một hàm gọi random các link đó gắn vào iframe, sau đó đặt timer delay.
Cứ mỗi 10s sẽ tự động load lại một src khác và reload iframe --> chạy video khác.
code:
<iframe id="rdvideo" width="300" height="200" src="" allowfullscreen>
</iframe>
<script language="javascript">
//array links
var randomvideo=new Array()
randomvideo[0]="https://www.youtube.com/embed/XhwRXOkyLM0?autoplay=1";
randomvideo[1]="https://www.youtube.com/embed/YsTGTwqNfsQ?autoplay=1";
randomvideo[2]="https://www.youtube.com/embed/JFBUJ6kNl28?autoplay=1";
//function gets link src
function getRandomUrl()
{
var myFrame = document.getElementById('rdvideo');
myFrame.src = randomvideo[Math.floor(Math.random()*randomvideo.length)];
getElementById('rdvideo').contentDocument.location.reload(); //reload page
}
var delay = 10000; //delay 10s
setInterval(getRandomUrl(), delay);
</script>
test trên trang này:
https://jsfiddle.net/
Nhưng kết quả là chỉ chạy nếu bấm f5, không tự load lại khi hết thời gian delay.
tới đây thì bí, cần giúp đỡ…