Javascript 在Facebook画布中滚动
因此,我在facebook上有这个应用程序,从FB文档中我发现,为了在单击时触发滚动功能,我首先需要通过添加以下代码加载FB SDK:Javascript 在Facebook画布中滚动,javascript,jquery,facebook,facebook-graph-api,canvas,Javascript,Jquery,Facebook,Facebook Graph Api,Canvas,因此,我在facebook上有这个应用程序,从FB文档中我发现,为了在单击时触发滚动功能,我首先需要通过添加以下代码加载FB SDK: <script> window.fbAsyncInit = function() { FB.init({ appId : 'i put my app id here', xfbml : true, version : 'v2.3' }); }; (functi
<script>
window.fbAsyncInit = function() {
FB.init({
appId : 'i put my app id here',
xfbml : true,
version : 'v2.3'
});
};
(function(d, s, id){
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) {return;}
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_US/sdk.js";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));
</script>
什么也没发生。所以我四处搜索,找到了这个话题
所以我添加了这个函数
function scrollTo(y){
FB.Canvas.getPageInfo(function(pageInfo){
$({y: pageInfo.scrollTop}).animate(
{y: y},
{duration: 1000, step: function(offset){
FB.Canvas.scrollTo(0, offset);
}
});
});
}
并将其用作
$("#button1").click(function(){
scrollTo("#button1");
}
什么也没发生。发生了什么事 scrollTo函数的第二个参数是scoll到的y值 在第一个代码中,您没有定义“offset”变量。您应该会看到浏览器控制台中出现的错误 在第二个代码中(自定义scrollTo与动画一起运行),您尝试使用字符串(#button1),但它应该是一个y值(一个数字) 尝试此测试,它应滚动100像素:
$("#button1").click(function(){
FB.Canvas.scrollTo(0, 100);
}
我只是按照你说的做了,尝试了最简单的滚动,如
FB.Canvas.scrollTo(0,1000)代码>但也不起作用。我启动sdk可能有什么问题吗?我查看了fb文档,它说scrollTo必须与fb.Canvas.setSize()和fb.Canvas.setAutoGrow()一起使用。但我认为在我的应用程序中,我只使用了FB.Canvas.setSize(),所以这可能是拦截器吗?我想补充的另一件事是,该应用程序是一个带有flash游戏容器的JSP页面,加载top.html和bottom.html文件。img按钮是bottom.html文件的一个元素。因此,我不确定jsp子html文件中的元素是否可以使整个页面滚动,这是否是问题所在。我强烈建议不要在页面中使用iframe,这会使一切变得更加复杂。我从两代开发人员那里继承了该结构,因此是否使用iframe不取决于我。我还尝试使用标签链接在页面上导航,但即使这样也不起作用(
$("#button1").click(function(){
FB.Canvas.scrollTo(0, 100);
}