首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当只拥有对宿主页面的部分访问权限时使用iframe-resizer

当只拥有对宿主页面的部分访问权限时使用iframe-resizer
EN

Stack Overflow用户
提问于 2021-07-28 09:26:17
回答 1查看 25关注 0票数 0

所有人!

我正在尝试使用下面的库(https://github.com/davidjbradshaw/iframe-resizer)在我公司的网络商务中调整iframe的大小。问题是,我不能完全访问整个网页,因为它是由一个更大的网络商务平台管理的。我只能将代码片段插入到iframe将占据的位置。

当我在浏览器中打开代码片段时,一切都很正常,但当我将其上传到实际平台时,iframe停止调整大小。

下面是我试图插入到平台中的代码片段(目标网页已经有适当的js脚本)。

代码语言:javascript
复制
<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>

有没有可能绕过这个问题?

EN

回答 1

Stack Overflow用户

发布于 2021-07-31 10:16:59

更大的平台很可能在单独的沙盒iframe中运行JS代码,或者禁用post消息API。您需要与供应商讨论此问题,并要求他们为您解决此问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68553322

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档