Javascript 从不同域上的iframe滚动到父级的顶部

Javascript 从不同域上的iframe滚动到父级的顶部,javascript,jquery,html,iframe,cross-domain,Javascript,Jquery,Html,Iframe,Cross Domain,我在页面中嵌入了一个iframe。它们都在不同的域中,但我可以访问这两个域 我想在iframe中单击链接时滚动到父窗口的顶部。像这样的事情: 在Iframe页面中 window.parent.ScrollToTop(); // Scroll to top function 在相关页面上: window.ScrollToTop = function(){ $('html,body', window.document).animate({ scrollTop: '0px' },

我在页面中嵌入了一个iframe。它们都在不同的域中,但我可以访问这两个域

我想在iframe中单击链接时滚动到父窗口的顶部。像这样的事情:

在Iframe页面中

window.parent.ScrollToTop(); // Scroll to top function
在相关页面上:

window.ScrollToTop = function(){
  $('html,body', window.document).animate({
    scrollTop: '0px'
    }, 'fast');
  };

这可能吗?

如果您有权访问父域,那么您可以使用以下功能:

window.top.scroll(0,0)
或者,如果您想要一些动画,请将其用作:

$(window.top.document).find("body").animate({
scrollTop: 0
}, 600);

我可以访问这两个站点,但它们位于不同的域中。因此,当我尝试调用window.parent时,它会给出一个关于跨域的错误。是的,它会显示出来,因为Javascript不允许通过其他域更改一个域的任何行为。有关更多信息,请检查:同源策略阻止您访问windows跨域调用任何此类方法。这样做的方法是使用
postMessage
让iframe向父级发送消息,然后父级可以滚动自己。