0

我正在尝试使用存储在 Wordpress 中的文本文件中的一组 url 和参数嵌入视频,这些 url 和参数在 F5 刷新时随机更改。我不是编码员,但我认为我很接近,但错了,示例如下:

http://aaaad.com/jquery-forum-post/

我尝试了很多不同的方法,但似乎无法从文件中正确传递参数以在第二个视频帧中显示随机视频和刷新参数。从上面的链接:

  • 第一个视频是带有启动和停止参数的 iframe 嵌入命令,并且工作正常
  • 第二个视频是尝试使用“视频”的 var 作为 src= 值的开头
  • 底部是文件中的随机行,在刷新页面时使用 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"

再次感谢任何帮助,

4

2 回答 2

1

我发现了几件事..

  1. .video div 永远不会关闭,因此可能会导致一些问题。(也许它在你的正常代码中,但它不在你上面​​发布的内容中。

  2. 这个:

    var video = data.split("@"); idx = Math.floor(video.length * Math.random());

似乎没有做你想做的事。如果不带参数调用 Math.random(),则返回 0 和 1 之间的小数。要使其介于两个数字之间,您必须提供最小值和最大值。在您的代码中, idx 变量很可能会为零。我想你可能想要idx = Math.random(0, video.length - 1);

  1. 您将 .video 的 HTML 设置为所选视频的 URL。这不起作用——您需要使用 URL 填充 iframe 源属性标记以使其工作。现在引出一个问题:您为什么要在 Javascript 中这样做?页面加载后是否需要再次更改随机视频?看起来你可以只用 PHP 更简单地做到这一点。您将从文本文件中读取,随机选择其中一个 URL,然后输出<iframe src="$source">页面加载而不是通过 AJAX 和 Javascript。
于 2016-10-18T02:25:49.223 回答
0

对于在这里工作的 html 版本,如果有人感兴趣的话,Jake 在 jquery 论坛上是对它的赞美。(尚未弄清楚如何使其在 WordPress 中工作,这可能是由于 Greg 的回答)。视频文字内容在原帖中。这是代码的 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>
于 2016-10-19T18:37:06.373 回答