EasyXDM iFrame авто-высота не работает
Я следовал инструкциям здесь и здесь, но не могу правильно реализовать easyXDM для автоматического изменения высоты моего iframe.
На странице с iframe (host.html) я вижу содержимое, которое я импортирую (otherdomain.html), но высота iframe намного короче содержимого, и высота не изменяется. К сожалению, это на сайте разработки, я не могу сослаться сюда.
У otherdomain.html есть элементы, которые расширяются при нажатии, поэтому мне нужно, чтобы iframe расширялся и сжимался, когда содержимое страницы делает это.
Может кто-нибудь сказать мне, что я делаю не так, пожалуйста? Это два разных домена / сервера, с которыми я работаю. Это первый раз, когда я установил сокет или сделал что-то подобное - я не вижу никаких ошибок в консоли, но я не могу понять, что это говорит мне.
Вот похожий вопрос, но он не получил ответа: изменение размера IFrame с помощью easyXDM
Вот то, что у меня есть на странице, которая имеет iFrame:
<style type="text/css">
div#embedded iframe {
width: 725px;
}
</style>
<script src="../js/easyXDM.debug.js" type="text/javascript"></script>
<script type="text/javascript" language="javascript">
new easyXDM.Socket({
remote: "http://lcoawebservices.com/careers/resize_intermediate.html?url=job-postings.php",
container: "embedded",
onMessage: function (message, origin) {
var settings = message.split(",");
this.container.getElementsByTagName("iframe")[0].style.height = settings[0];
this.container.getElementsByTagName("iframe")[0].style.width = settings[1];
}
});
</script>
<div id="embedded"></div>
Вот что я имею на resize_intermediate.html:
<script type="text/javascript" src="../scripts/easyXDM.debug.js">
</script>
<script type="text/javascript">
var iframe;
var socket = new easyXDM.Socket({
swf: "../scripts/easyxdm.swf",
onReady: function(){
iframe = document.createElement("iframe");
iframe.frameBorder = 0;
document.body.appendChild(iframe);
iframe.src = easyXDM.query.url;
},
onMessage: function(url, origin){
iframe.src = url;
}
});
//Probe child.frame for dimensions.
function messageBack(){
socket.postMessage ( iframe.contentDocument.body.clientHeight + "," + iframe.contentDocument.body.clientWidth);
};
//Poll for changes on children every 500ms.
setInterval("messageBack()",500);
</script>
<style type="text/css">
html, body {
overflow: hidden;
margin: 0px;
padding: 0px;
width: 100%;
height: 100%;
}
iframe {
width: 100%;
height: 100%;
border: 0px;
}
</style>
и внизу страницы, которую я импортирую, я разместил это:
<script type="text/javascript">
window.onload = function(){
parent.socket.postMessage(document.body.clientHeight || document.body.offsetHeight || document.body.scrollHeight);
};
</script>