【发布时间】:2013-06-02 05:04:59
【问题描述】:
我正在做一个项目,我将 youtube 视频链接存储在数据库中,然后我检索这些链接并使用刀片模板引擎尝试将它们嵌入到页面中。我使用循环将视频放在页面中。出于某种原因,我在浏览器中没有收到任何视频。它覆盖了提到的空间,但没有渲染任何东西。我正在使用 laravel 3。这里有几个代码 sn-ps,如果他们有帮助的话。
这是 index.blade.php
@layout('layouts.master')
@section('content')
@foreach ($videos as $video)
<h4>{{ $video->title }}</h4>
<br>
<div class="media">
<div class="media-body">
<iframe width="560" height="315" src="{{ $video->link }}" frameborder="0" allowfullscreen>
</iframe>
</div>
</div>
<br>
@endforeach
@endsection
$videos 变量是从控制器传递过来的。
class Videos_Controller extends Base_Controller
{
public $restful = true;
public function get_index()
{
$videos = DB::table('videos')->get();
return View::make('videos.index')
->with('title', 'Videos')
->with('videos', $videos);
}
}
我得到的只是一个空白页。我不明白我做错了什么。我正在使用 twitter bootstrap 进行 css 原型设计。任何帮助将不胜感激。
master.blade.php 的“头部”如下所示:
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{ $title }} </title>
<meta name="viewport" content="width=device-width">
{{ HTML::style('css/bootstrap.min.css') }}
{{ HTML::style('css/bootstrap-responsive.min.css') }}
</head>
这是我检查元素时在 Firefox 中出现的内容。
<div class="media">
<div class="media-body">
<iframe width="560" height="315" frameborder="0" allowfullscreen="" src="http://www.youtube.com/watch?v=1iBm60uJXvs">
#document
<html>
<head></head>
<body></body>
</html>
</iframe>
</div>
</div>
【问题讨论】:
-
你查看
blank page的源代码了吗?它是否生成 iFrame?如果是,您是否检查过这些链接在浏览器中是否有效? -
它确实会生成 iframe,并且链接确实可以在浏览器中使用。
-
@Xk0nSid:我面临同样的问题。您是否设法找到解决方案。甚至我的页面也正确呈现,链接正确,但视频没有显示。
-
@Gagan 对不起。找不到解决方案。
标签: php mysql video embed laravel