【问题标题】:Having trouble using iframes使用 iframe 时遇到问题
【发布时间】:2013-01-30 18:59:29
【问题描述】:

在使用 iframe 方面我失败得很厉害,我需要一些帮助。我以前从未使用过 iframe,这是我第一次。

以下是我尝试使用 Galleria 滑块制作 iframe 的文档:http://galleria.io/docs/references/data/

我有一个 jwplayer,我想使用 iframe 访问视频以检索 video.php 页面中的视频。如果只有一个视频,则只需从 video.php 页面检索正确的视频,但如果有多个视频,则检索正确的多个视频并将它们显示在 Galleria 滑块中。但我的问题是如何让 iframe 工作才能做到这一点?

下面是显示jwplayer的video.php页面:

   <div id="myElement-<?php echo $key.'-'.$i; ?>">Loading the player...

    <script type="text/javascript">


    jwplayer("myElement-<?php echo $key.'-'.$i; ?>").setup({
        file: "<?php echo 'VideoFiles/'.$v; ?>",
        width: 480,
        height: 270
    });

    <?php $i++; ?>

下面是检查视频是单个还是多个的代码,如果有多个则显示 Galleria 滑块,这是放置 iframe 的位置:

if(count($arrVideoFile[$key]) == 1){
    foreach ($arrVideoFile[$key] as $v) { ?>

var data = [
    {

     iframe: 'video.php'

     }
];  


<?php
}
}else if(count($arrVideoFile[$key]) > 1){
?>

<style>
    #galleriavideo_<?php echo $key; ?>{ width: 500px; height: 300px; background: #000 }
</style>

 <div id="galleriavideo_<?php echo $key; ?>">
<?php
foreach ($arrVideoFile[$key] as $v) { ?>

<script type="text/javascript">

var data = [
    {

     iframe: 'video.php'

     }
];
</script>
</div>
<?php } ?>
</div>

         <script type="text/javascript">

            Galleria.loadTheme('jquery/classic/galleria.classic.min.js');
            Galleria.run('#galleriavideo_<?php echo $key; ?>');

          </script>

<?php

        }
    }
        //end:procedure video

编辑: 视频.php

<?php

$key = filter_input(INPUT_GET, "key", FILTER_SANITIZE_STRING);
$i = filter_input(INPUT_GET, "i", FILTER_SANITIZE_NUMBER_INT);
$v = filter_input(INPUT_GET, "v", FILTER_SANITIZE_STRING);

?>
<div id="myElement-<?php echo $key.'-'.$i; ?>">Loading the player...

<script type="text/javascript">
jwplayer("myElement-<?php echo $key.'-'.$i; ?>").setup({
    file: "<?php echo 'VideoFiles/'.$v; ?>",
    width: 480,
    height: 270
});

</script>

</div>

assessment.php:

if(count($arrVideoFile[$key]) > 1){
?>

<style>
    #galleriavideo_<?php echo $key; ?>{ width: 500px; height: 300px; background: #000 }
</style>

 <div id="galleriavideo_<?php echo $key; ?>">
<?php
foreach ($arrVideoFile[$key] as $v) { ?>

<a href="video.php?key={$key}&i={$i}&v={$v}"><img class="iframe"></a>

<?php $i++; ?>
<?php } ?>
</div>

         <script type="text/javascript">

            Galleria.loadTheme('jquery/classic/galleria.classic.min.js');
            Galleria.run('#galleriavideo_<?php echo $key; ?>');

          </script>

<?php

        }

【问题讨论】:

  • 什么 iframe?您的代码中没有。
  • @MarcB 我在 javascript 中使用它,我以前从未使用过 iframe,所以我不知道它是如何实现的,如果我能看到一个示例,尤其是上面示例的示例,那么我可以查看 iframe 是如何实现的,并能够参考它以备将来使用
  • @user2056342 如果这是您第一次使用 iFrames,我会看这里:developer.mozilla.org/en-US/docs/HTML/Element/iframe

标签: php javascript jquery html iframe


【解决方案1】:

这是一个关于如何将 Galleria 与 jwplayer 一起使用的简短示例。您可以尝试将其适应您的代码。

首先,有一个包含 jwplayer 的 video.php 文件:

<div id="container"></div>
<script type="text/javascript" src="/path/to/jwplayer.js"></script>
<script type="text/javascript">
    jwplayer("container").setup({
        file: "http://content.bitsontherun.com/videos/3XnJSIm4-kNspJqnJ.mp4",
        image: "http://content.bitsontherun.com/thumbs/3XnJSIm4-640.jpg"
    });
</script>

然后,有gallery.php 文件,其中包含滑块:

<div id="galleria" style="height:350px; width:550px;">
    <a href="/path/to/video.php"><img class="iframe"></a>
</div>

<script type="text/javascript" src="/path/to/jquery.js"></script>
<script type="text/javascript" src="/path/to/galleria.js"></script>
<script type="text/javascript">
    Galleria.loadTheme('/path/to/galleria.classic.min.js');
    Galleria.run('#galleria');
</script>

如果你想在滑块中显示多个视频,你可以想象video.php带一个参数并根据它加载一个视频的解决方案,即video.php?id=xx

编辑:澄清一下

你的video.phpfile 应该带有一些参数:

$key = filter_input(INPUT_GET, "key", FILTER_SANITIZE_STRING);
$i = filter_input(INPUT_GET, "i", FILTER_SANITIZE_NUMBER_INT);
$v = filter_input(INPUT_GET, "v", FILTER_SANITIZE_STRING);

<div id="myElement-<?php echo $key.'-'.$i; ?>">Loading the player...
<script type="text/javascript" src="/path/to/jwplayer.js"></script>
<script type="text/javascript">
jwplayer("myElement-<?php echo $key.'-'.$i; ?>").setup({
    file: "<?php echo 'VideoFiles/'.$v; ?>",
    width: 480,
    height: 270
});

然后在gallery.php 文件中:

<div id="galleria" style="height:350px; width:550px;">
    <a href="/path/to/video.php?key=xxx&i=xxx&v=xxx"><img class="iframe"></a>
    <a href="/path/to/video.php?key=xxx&i=xxx&v=xxx"><img class="iframe"></a>
    <a href="/path/to/video.php?key=xxx&i=xxx&v=xxx"><img class="iframe"></a>
    ...
</div>

【讨论】:

  • 这是文件:在video.php我不明白。如果是多个视频,应该是file: &lt;?php echo $key; ?&gt;?
  • @user2056342 我编辑了我的答案,向您展示video.php 会是什么。
  • 嗨,谢谢,只有一个问题,那就是 xxx 假设是什么?
  • 这些将是您代码中的变量:&lt;a href="/path/to/video.php?key={$key}&amp;i={$i}&amp;v={$v}
  • 显示滑块但找不到视频。我还有什么需要补充的吗?有问题的编辑代码
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-12-18
  • 2010-10-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-02-21
  • 2021-11-08
相关资源
最近更新 更多