javascript - 如何在多个域上使用 iFrameResizer?

标签 javascript jquery iframe iframe-resizer

我正在使用 Iframe Resizer而且我的代码不能跨域工作。当两个域相同时,它工作正常。你能帮我吗?这很奇怪,因为 iframe 肯定加载了 iFrameResizer.contentWindow.js 并且我使用 checkOrigin: false 所以它应该允许跨域......

这是我在加载具有 iframe 的父页面时在控制台中遇到的错误:

无法在“DOMWindow”上执行“postMessage”:提供的目标来源(“http://jacobjohnson.net”)与接收者窗口的来源(“http://designtesting.cfs.local”不匹配').

iframeResizer.min.js:8 [iFrameSizer][Host page: display_frame] iFrame 没有响应。检查iFrameResizer.contentWindow.js是否已经加载到iFrame中

<div class="panel panel-default" id="iframePanel">
    <div class="panel-body" style="padding:0px;">
       <iframe id="display_frame" name="display_frame" class="frame" src="http://jacobjohnson.net/iframetest.html" allowfullscreen></iframe>
    </div>
</div>


<script>

    jQuery('#display_frame').iFrameResize( [{log:true, checkOrigin: false}] );

    var frameHeight =  3905; // $('#display_frame').height();
    var newHeight = frameHeight / 2;
    $('#iframePanel').height(newHeight);

    $(window).resize( function() {
        var frameHeight = $('#display_frame').height();
        var newHeight = frameHeight / 2;
        $('#iframePanel').height(newHeight);
    });

</script>

最佳答案

你的调用应该如下所示。

jQuery('#display_frame').iFrameResize({log:true, checkOrigin: false});

关于javascript - 如何在多个域上使用 iFrameResizer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42912597/

相关文章:

javascript - 单击 iframe 中的链接?

javascript - 我可以允许从客户端动态加载 JS 模块吗?

javascript - jQuery - 发现 id 存在于 iframe 条件失败

angular - 在另一个 Angular 2 应用程序中嵌入一个 Angular 2 应用程序

javascript - 让玩家在 JavaScript 中轮流玩井字游戏

php - Laravel,为选择下拉列表中的选项添加不同的html属性

javascript - 防止 select2 的标签文本中出现空格

Javascript如何在用户放大时将叠加层居中

javascript - Photoshop 脚本 : changing text of a text layer

javascript - Vue js 2 和 Axios 发布请求 - 表单