Ошибка: Permission denied для доступа к ресурсу 'document'

Я постоянно получаю сообщение об ошибке "Error: Permission denied to access property 'document'" пока я уже определил в своих параметрах X-FRAME options чтобы разрешить другой домен, например.

  <?php header('X-Frame-Options: ALLOW-FROM http://mydomain.com'); ?> 

Ниже заголовок запроса iframe, ясно показывает, что я определил, чтобы домен мог получить доступ к iframe, но не работал. Все, что я хочу, это изменить размер iframe с помощью javascript.

введите описание изображения здесь

Вот мой код javascript для изменения высоты iframe.

 <iframe src="http://mydomain.com/xxx/yyy" id="idIframe" onload="iframeLoaded();" allowtransparency="true" frameborder="0" width="100%" scrolling="no"></iframe> <script type="text/javascript"> function iframeLoaded() { var iFrameID = document.getElementById('idIframe'); if(iFrameID) { iFrameID.height = ""; if(iFrameID.contentWindow.document.body.scrollHeight < 500) { iFrameID.height = "500px"; } else { iFrameID.height = iFrameID.contentWindow.document.body.scrollHeight + "px"; } } } </script> 

Как я могу это сделать? Пожалуйста, предложите.

    У меня совсем недавно была эта проблема. Наконец, я решил это с помощью метода postMessage.

    1. В документе, включенном в iFrame, я проверяю, действительно ли он выполняется из iFrame.

       function inIframe(){ if(top != self){ var contentHeight = $('#myIframeContent').height(); //Just this part I did with jQuery as I was sure that the document uses it postSize(contentHeight); } } 
    2. Если документ работает в iFrame, вызовите функцию, которую мы будем называть postSize.

       function postSize(height){ var target = parent.postMessage ? parent : (parent.document.postMessage ? parent.document : undefined); if(typeof target != "undefined" && document.body.scrollHeight){ target.postMessage(height, "*"); } } 
    3. Добавьте следующий код в документ, который включает ваш iFrame

       function receiveSize(e){ if(e.origin === "http://www.mywebsite.net"){ var newHeight = e.data + 35; document.getElementById("myIframeID").style.height = newHeight + "px"; } } window.addEventListener("message", receiveSize, false); 

    К сожалению, я не могу вспомнить точные источники всего этого, поскольку я рассматривал множество различных решений здесь, в Stackoverflow, но также и на разных веб-сайтах. Но это решение работает хорошо для меня.

    ура

    обновление compatability.js до последней версии исправило это для меня.