如何在Laravel页面上的iframe中显示视频?

时间:2018-02-01 12:48:28

标签: php html laravel iframe

您好我正在尝试在网页上显示来自YouTube的iframe视频。我运行页面时,空白块出现404错误。什么可能是错的?

我的代码是:

<iframe width="854" height="480" src="{{ $vid->videoURL . '&output=embed' }}" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen></iframe>

1 个答案:

答案 0 :(得分:0)

urlhttps://www.youtube.com/watch?v=8nbsSkwSbb0&output=embed更改为https://www.youtube.com/embed/8nbsSkwSbb0/embed端点允许外部请求,而/watch则不允许。我想,您可以在accessor模型中创建Video方法,如下所示:

public function getSrcAttribute()
{
    // $this->videoUrl: https://www.youtube.com/watch?v=8nbsSkwSbb0
    parse_str(parse_url($this->videoURL)['query'], $output);
    return 'https://www.youtube.com/embed/' . $output['v'];
}

然后使用它:

<iframe
src="{{ $vid->src }}"
width="854"
height="480"
frameborder="0"
allow="autoplay; encrypted-media"
allowfullscreen></iframe>