将Iframe文档的当前高度发送到父AMP Iframe的推荐代码是:
window.parent.postMessage({
sentinel: 'amp',
type: 'embed-size',
height: document.body.scrollHeight
}, '*');
(来自https://www.ampproject.org/docs/reference/components/amp-iframe#iframe-resizing)
当试图“缩小” iframe时,这似乎在Safari上引起问题。
似乎在Safari document.body.scrollHeight
上,如果iframe大于内容,则返回iframe高度。
因此,在这种情况下,postMessage发送Iframe的当前高度,而Amp代码永远不会改变Iframe的高度。
我在Safari中尝试过document.contentWindow.scrollHeight
,而且似乎可以正常工作。
这是一个已知的错误吗?