我们希望用户观看视频(vimeo)链接。
每个视频后面都有一个简短的问卷。
我们的目的是在用户点击打开视频进行查看之前,不要让用户看到调查问卷。
我只能想到将代码嵌入到另一个iframe中只是为了隐藏链接。
这可能吗?
有没有其他办法解决这个问题?
<!DOCTYPE HTML>
<html>
<head>
<meta name="google" value="notranslate" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Dog Smoking</title>
<style type="text/css">
body {
padding-top:0;
padding-bottom:0;
padding-left:0;
padding-right:0;
margin-top:0;
margin-bottom:0;
margin-left:0;
margin-right:0;
}
</style>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script src="javascript/froogaloop.js"></script>
<script src="javascript/froogaloop.min.js"></script>
<script type="text/javascript">
var iframe = $('#player1')[0],
player = $f(iframe),
status = $('.status');
// When the player is ready, add listeners for pause, finish, and playProgress
player.addEvent('ready', function() {
status.text('ready');
player.addEvent('pause', onPause);
player.addEvent('finish', onFinish);
player.addEvent('playProgress', onPlayProgress);
});
// Call the API when a button is pressed
$('button').bind('click', function() {
player.api($(this).text().toLowerCase());
});
function onPause(id) {
status.text('paused');
}
function onFinish(id) {
status.text('finished');
}
function onPlayProgress(data, id) {
status.text(data.seconds + 's played');
}
player.addEvent('ready', function() {
status.text('ready');
$("#survey_button").show(); // <-- or whatever
});
</script>
</head>
<body>
<iframe src="http://player.vimeo.com/video/4644119?api=1" width="400" height="375" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
<a href="http://show.aspx?testid=27#activate"
target="target-iframe"
onclick="frames['target-iframe'].document.getElementById('activate')
.scrollIntoView();return false">Click</a>
</body>
</html>
答案 0 :(得分:2)
我会使用JS API for video并使用播放器中内置的事件回调来显示调查问卷。
== UPDATE ==
好的 - 所以链接是一个循序渐进的示例,说明如何为播放器合并JS控件和回调。但是......我们走了......
步骤1是添加&#34;?api = 1&#34;在您的初始嵌入代码之后。
第2步是加载他们的Froogaloop库,以便你可以监听事件......
第3步是设置一个回调来处理你想听的任何事件......这个例子就是这个例子:
var iframe = $('#player1')[0],
player = $f(iframe),
status = $('.status');
// When the player is ready, add listeners for pause, finish, and playProgress
player.addEvent('ready', function() {
status.text('ready');
player.addEvent('pause', onPause);
player.addEvent('finish', onFinish);
player.addEvent('playProgress', onPlayProgress);
});
// Call the API when a button is pressed
$('button').bind('click', function() {
player.api($(this).text().toLowerCase());
});
function onPause(id) {
status.text('paused');
}
function onFinish(id) {
status.text('finished');
}
function onPlayProgress(data, id) {
status.text(data.seconds + 's played');
}
因此,根据您希望调查显示的时间,您可以点击其中一个......
player.addEvent('ready', function() {
status.text('ready');
$("#survey_button").show(); // <-- or whatever
});
有意义吗?
=============另一个更新================
这是一个工作小提琴:http://jsfiddle.net/QkGRd/10/。您可能想要阅读有关嵌入资源以及jsfiddle如何工作的内容。
答案 1 :(得分:1)
TL; DR回答
是的,您可以在iframe中使用iframe。虽然在性能方面通常不是一个好主意。