4

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

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

Failed to execute 'postMessage' on 'DOMWindow': The target origin provided ('http://jacobjohnson.net') does not match the recipient window's origin ('http://designtesting.cfs.local').

iframeResizer.min.js:8 [iFrameSizer][Host page: display_frame] No response from iFrame. Check iFrameResizer.contentWindow.js has been loaded in 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>
4

2 回答 2

5

您的电话应如下所示。

jQuery('#display_frame').iFrameResize({log:true, checkOrigin: false});
于 2017-04-13T13:25:16.257 回答
3

也许尝试验证起源

var domains = ['http://jacobjohnson.net','http://designtesting.cfs.local'];
jQuery('#display_frame').iFrameResize( [{log:true, checkOrigin: domains}] );
于 2017-03-20T20:27:14.070 回答