需要一个解决方案来捕获Facebook iFramed应用程序页面上的滚动事件


Need a solution to capturing scroll event on Facebook iFramed app page

我在Facebook上开发了一个应用程序页面,当然,它存在于一个iFrame中。我希望能够在页面滚动(主页/画布页面)时影响iFrame内容中的元素。使用 jQuery,内容页面中的代码将是:

parent.$(window).scroll(function(){
    do something
});

iFrame和父窗口位于同一域中的正常情况下,这将起作用,但由于不同域之间的安全限制,这是不允许的。我在网上广泛搜索,但没有找到任何解决方案。是否有任何跨域修复,或任何编码方式以仅允许捕获主页的滚动事件?

我已经广泛地与这个确切的问题作斗争。对于我的情况,我想删除滚动条,并在用户在页面之间切换时滚动到页面顶部。我在/head 标签之前使用了这段代码。

<script type="text/javascript">
window.fbAsyncInit = function() {
  FB.Canvas.setSize({height: 1000});
  FB.Canvas.scrollTo(0,0);
}
</script>

如您所知,问题是跨站点攻击。因此,例如Firefox不允许任何此类属性。这完全取决于你想做什么。如果您回复有关您尝试执行的操作的更多信息,也许我可以提供更多建议。真正的底线是,您将不得不创建某种黑客来完成您的任务,并且您的任务完全有可能根本不可能发生。得知这一变化,我感到非常沮丧。我认为Chrome也已弃用此功能,并将很快将其全部停止。

布兰登