我需要能够在vimeo上为回访者关闭自动播放功能。我知道自动播放对于某些人来说是不对的,但对于我们第一次访问者,我们发现它非常有帮助。但对于经常访问我们网站的人来说,他们并不需要自动播放。你们其中一个人可以帮我解决这个问题吗?我很确定这是一个可以解决问题的PHP代码,但它超出了我的专业水平。提前致谢!我的网站是www.destinychurchjacksonville.com,视频在头版。
答案 0 :(得分:0)
由于您不熟悉如何使用Cookie,请参阅有关Cookie的PHP文档:http://php.net/manual/en/function.setcookie.php
抱歉,我对Vimeo不太熟悉,因为我总是使用Youtube。但是,我相信如果您使用PHP动态呈现iframe。您的自动播放功能将是一块蛋糕。
我检查了您网站的源代码,我相信这种格式的iFrame src链接:http://player.vimeo.com/video/xxxxxxxxx?autoplay=1。请注意链接中有一个名为autoplay的GET []变量,当cookie设置或未设置时,您可以使用PHP来操作链接。
if(isset($_COOKIE["name"])){
$link = "http://player.vimeo.com/video/xxxxxxxxx"
} else {
$link = "http://player.vimeo.com/video/xxxxxxxxx?autoplay=1"
}
//proceed to render iFrame with $link var.
echo "<iframe src=$link width='500' height='281' frameborder='0' webkitAllowFullScreen mozallowfullscreen allowFullScreen> </iframe>"
答案 1 :(得分:0)
如果您的网站有可以注册的成员,则建议您只将其偏好设置存储在数据库中。
如果这不是你想要达到的目标,那么应该这样做:
setcookie('autoplay', false, time() + 3600, "/");
$_COOKIE['autoplay'] = false;
这将创建一个名为autoplay
的cookie,由于第四个参数,该cookie在整个站点目录中可用,并在1小时后到期。这些偏好的大多数网站可以保存80天,因此您可以使用time() + 6912000
。
检查是否自动播放:
<?php
if (isset($_COOKIE['autoplay']) && $_COOKIE['autoplay'] == false) {
//Don't do autoplay
?>
更好的是,如果你真的想确保任何回访的访问者都没有自动播放,那就是存储访问过你网站的任何IP address
,尽管这是非常严格的,因为很多用户都不会记得他们的第一个访问,或者他们的第一次访问是一次反弹。您可以通过创建一个数据库表来执行此操作,该数据库表存储访问过您站点的所有IP地址,如果当前用户的IP地址在表中,则禁用自动播放
<?php
$ip = $_SERVER['REMOTE_ADDR'];
$sql = "SELECT ip FROM ip_addresses WHERE ip = '$ip'";
$result = $dbc->query($sql);
if ($result->num_rows > 0) {
//Autoplay off
}
?>
您可以在此处阅读有关Cookie的信息: http://php.net/manual/en/features.cookies.php
编辑:为了完全达到你想要的效果,我还没有读过Vimeo API,但是正如另一个答案所示,自动播放是GET
变量,如果这是正确的,那么你可以在网址中操作它,你可以这样做:
<?php
if (isset($_COOKIE['autoplay']) && $_COOKIE['autoplay'] == false) {
//No autoplay
$link = 'http://player.vimeo.com/video/xxxxxxxxx?autoplay=0';
}
else {
//Yes autoplay
$link = 'http://player.vimeo.com/video/xxxxxxxxx?autoplay=1';
//Since this visitor is new and next time will be returning, create cookie
setcookie('autoplay', false, time() + 3600, "/");
$_COOKIE['autoplay'] = false;
}
?>
<html>
<iframe src="<?php echo $link;?>"></iframe>
//Here we echo out the link variable we dynamically generated above in PHP based on user preferences and give it to HTML.
如果您想要实现IP地址,您可以执行上面建议并检查表达式$result->num_rows == 1
是否真实。
答案 2 :(得分:0)
以下是使用 cookie 的快速解决方案,我已经测试过,对我来说效果很好。
$(document).ready(function () {
if ($.cookie('videocookie') == null) {
// Create expiring cookie, 2 days from now:
$.cookie('videocookie', 'videocookie', { expires: 2, path: '/' });
} else{
$(".wp-video video").removeAttr("autoplay");
}
});