我试图通过此代码显示已提交的YouTube视频列表
B b;
A a(std::move(b)); // select the templated constructor (which moves)
A a(b); // selects the same copy constructor (which moves but we do not want!!
但是由于以下错误,视频无法显示: 拒绝展示' https://www.youtube.com/watch?v=_whatever'在一个框架中因为它设置了X-Frame-Options'到' SAMEORIGIN'
1)这是否与测试本地主机上的代码有关,并且可能在上传到真实域时解析?
2)这是通过php表单和mysql数据库回传youtube视频的好方法吗?
3)我能做些什么来解决这个问题?
注意:在使用Google搜索错误后,我了解到了youtube不允许其iframe显示在任何其他域上的内容,但这就是为什么我想知道本地主机"域名"域& #34;可能会导致这个......
答案 0 :(得分:1)
您需要在数据库中保存视频的嵌入网址。然后你可以这样使用
<object width="420" height="315"
data="http://www.youtube.com/embed/XGSy3_Czz8k">
</object>
或第二种方法是
<embed width="420" height="315"
src="http://www.youtube.com/embed/XGSy3_Czz8k">
之后,此代码将起作用。
while ($row = mysqli_fetch_assoc($qry)) {
echo "
<iframe width=\"160\" height=\"120\" frameborder=\"0\" allowfullscreen src=".$row['videourl']."></iframe>
</div>";
}mysqli_free_result($qry);
第二个选项是
只需选择链接末尾的视频代码
即可例如
来自此链接的 http://www.youtube.com/watch?v=Ahg6qcgoay4
获取Ahg6qcgoay4
并在您的代码中创建http://www.youtube.com/v/Ahg6qcgoay4
之类的链接
然后使用类似的东西
while ($row = mysqli_fetch_assoc($qry)) {
echo "
<iframe width=\"160\" height=\"120\" frameborder=\"0\" allowfullscreen src='http://www.youtube.com/v/".$code."'></iframe>
</div>";
}mysqli_free_result($qry);
答案 1 :(得分:0)
处理此问题的最佳方法是在将URL保存到数据库之前拆分URL并从中提取_whatever
。
当您从数据库中提取数据时,请执行以下操作:
<iframe width='160' height='120' frameborder='0' allowfullscreen src='http://www.youtube.com/embed/".$row['videourl']."'></iframe>
Youtube网址的原因通常是两种类型
i. 'https://www.youtube.com/watch?v=_whatever'
ii. 'https://www.youtube.com/embed/_whatever'
使用<iframe>
网址时,更好的做法是使用ii.
网址