我正在尝试使用一组存储在Wordpress文本文件中的url和参数嵌入视频,该文件在F5刷新时随机更改。我不是一个程序员,但我认为我很接近,但错误的,例子在这里:
http://aaaad.com/jquery-forum-post/我尝试了很多不同的方法,但似乎无法从文件中正确地获得参数,以显示第二个视频帧中刷新的随机视频和参数。上面的链接:
- 第一个视频是一个iframe嵌入命令与开始和停止参数和工作良好
- 第二个视频是尝试使用var "video"作为src= values 的开头。
- 在底部是一个随机的行从文件,正确地改变使用div类的页面的刷新,就像我想要的视频链接到。
任何帮助重定向我明显不正确的方法是感激。下面是代码:
<iframe width="854" height="480" src="https://www.youtube.com/embed/ad5pmvJ0zMQ?start=1&end=23" frameborder="0" allowfullscreen></iframe>
`<iframe width="854" height="480" src=$video frameborder="0" allowfullscreen></iframe>
<div class="video"></div>
<script type="text/javascript" src="js/jquery.js"></script>
<script>// <
jQuery(document).ready(function($) {
$.get('/wp-content/slap/video.txt', function(data) {
var video = data.split("@");
var idx = Math.floor(video.length * Math.random());
$('.video').html(video[idx]);
});
});
</script>
'video.txt目录
"https://www.youtube.com/embed/ad5pmvJ0zMQ?start=398&end=418"@
"https://www.youtube.com/embed/ad5pmvJ0zMQ?start=39&end=41"@
"https://www.youtube.com/embed/ad5pmvJ0zMQ?start=98&end=108"@
"https://www.youtube.com/embed/ad5pmvJ0zMQ?start=60&end=67"@
"https://www.youtube.com/embed/ad5pmvJ0zMQ?start=7&end=20"
再次感谢您的帮助
我发现了几件事…
-
.videodiv永远不会关闭,所以这可能会导致一些问题。(也许它在你的正常代码,但它没有在你上面发布。
-
:
var video = data.split("@"); idx = Math.floor(video.length * Math.random());
似乎不像你想的那样。如果不带参数调用Math.random(),则返回0到1之间的小数。要使它在两个数之间,你必须给出最小值和最大值。在代码中,idx变量很可能就是0。我想你可能会想要idx = Math.random(0, video.length - 1);
- 你将。video的HTML设置为所选视频的URL。这不起作用——您需要用URL填充iframe源属性标签以使其工作。这就引出了一个问题:为什么要在Javascript中这样做?随机视频是否需要在页面加载后再次更改?似乎只使用PHP就可以更简单地完成这个任务。从文本文件中读取,随机选择其中一个url,然后在页面加载时输出
<iframe src="$source">
,而不是通过AJAX和Javascript。
对于这里工作的html版本,如果有人感兴趣,可以在jquery论坛上称赞Jake。(还没有弄清楚如何使它在WordPress中工作,这可能是由于格雷格的回答)。视频文字内容为原帖。下面是代码的HTML版本:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>Untitled</title>
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script>
</script>
<style>
iframe {
width: 100%;
height: 500px;
border:1px solid red;
}
</style>
<script>
jQuery(document).ready(function($) {
$.get('video.txt', function(data) {
var video = data.split("@");
var idx = Math.floor(video.length * Math.random());
console.log(video[idx])
$("iframe").attr("src",video[idx]);
});
});
</script></head>
<body>
<iframe width="854" height="480" frameborder="0" allowfullscreen></iframe>
<div class="video">
</body>