此刻我滚动时遇到了一些问题。我正在为Facebook开发一个论坛应用程序,如果用户愿意,我正试图让页面滚动到页面上的最新帖子。当我在同一页面中通过AJAX加载主题时,我可以做到这一点,但如果用户想要首先在新页面中打开主题,我会遇到问题。
我的问题是我无法让代码等到文档在执行之前完成加载(因此页面未完全加载且函数失败)。我完全知道你在这一点上的想法,$(document).ready()
和$(window).ready()
都不起作用。问题在于这是一个Facebook应用程序,我无法访问父框架(因为所有应用程序都是通过iframe加载的)。幸运的是,我可以在AJAX调用之后运行该函数并且它工作正常(因为我可以等到内容完全加载);但是,我肯定在新标签中打开主题时遇到了问题。
无论如何,必须有一种方法来判断我的帧何时完全加载,以便我可以启动该功能以滚动到一个对象。可以有人给我一些想法尝试吗?
答案 0 :(得分:2)
我弄明白了这个问题。我通常异步加载Facebook JS SDK,这导致能够使用这些功能的延迟。我打电话给他们,但他们还没有加载。我让它同步加载,问题得到解决。
答案 1 :(得分:0)
跨域的东西让这个很尴尬。一个hackish解决方案将在iframe内容的最底部包含一个脚本块来触发滚动:
<script type="text/javascript">
scrollToPost();
</script>
由于这个脚本是最后一个加载和执行的东西,所以你不会遇到上面的问题。
您也可以尝试使用iframe.onload处理程序来获得更清晰的解决方案,但我认为您将再次遇到跨域问题。