所有人!
我正在尝试使用下面的库(https://github.com/davidjbradshaw/iframe-resizer)在我公司的网络商务中调整iframe的大小。问题是,我不能完全访问整个网页,因为它是由一个更大的网络商务平台管理的。我只能将代码片段插入到iframe将占据的位置。
当我在浏览器中打开代码片段时,一切都很正常,但当我将其上传到实际平台时,iframe停止调整大小。
下面是我试图插入到平台中的代码片段(目标网页已经有适当的js脚本)。
<iframe id="frame-one" scrolling="no" frameborder="0" src="https://fastshopwr-a.akamaihd.net/conteudo/samsung/SGWD16N8750KV1/index.html" onload="FrameManager.registerFrame(this)"></iframe>
<style>
#frame-one { width: 100%; }
</style>
<script type="text/javascript" src="https://fastshopwr-a.akamaihd.net/iframeResizer.min.js"></script>
<script type="text/javascript">
iFrameResize({
log : true, // Enable console logging
enablePublicMethods : true, // Enable methods within iframe hosted page
resizedCallback : function(messageData){ // Callback fn when resize is received
$('p#callback').html(
'<b>Frame ID:</b> ' + messageData.iframe.id +
' <b>Height:</b> ' + messageData.height +
' <b>Width:</b> ' + messageData.width +
' <b>Event type:</b> ' + messageData.type
);
},
messageCallback : function(messageData){ // Callback fn when message is received
$('p#callback').html(
'<b>Frame ID:</b> ' + messageData.iframe.id +
' <b>Message:</b> ' + messageData.message
);
alert(messageData.message);
},
closedCallback : function(id){ // Callback fn when iFrame is closed
$('p#callback').html(
'<b>IFrame (</b>' + id +
'<b>) removed from page.</b>'
);
}
});
</script>有没有可能绕过这个问题?
发布于 2021-07-31 10:16:59
更大的平台很可能在单独的沙盒iframe中运行JS代码,或者禁用post消息API。您需要与供应商讨论此问题,并要求他们为您解决此问题。
https://stackoverflow.com/questions/68553322
复制相似问题