【问题标题】:Need a solution to capturing scroll event on Facebook iFramed app page需要一种在 Facebook iFramed 应用页面上捕获滚动事件的解决方案
【发布时间】:2012-06-04 05:31:15
【问题描述】:

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

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

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

【问题讨论】:

    标签: php jquery facebook cross-domain facebook-iframe


    【解决方案1】:

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

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

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

    布兰登

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多