Вам нужно "name.html" для изменения размера EasyXDM iFrame?
Кто-нибудь знает, требуется ли вам файл "name.html" easyxdm при изменении размера междоменного домена браузера, и если да, то где вы говорите easyxdm его искать?
В настоящее время я извлекаю форму бронирования с другого веб-сайта в iFrame, однако я не вижу примеров, на которые ссылается name.html, поэтому я беспокоюсь, что неправильно настроил ее.
Страница, кажется, работает, хотя, я просто хотел бы убедиться, что у меня все есть.
Демонстрация того, что я использую, здесь: тестовая страница, извлекающая данные с сайта разработчика в другом домене.
Вот мой код easyxdm на веб-сайте потребителя, возможно, он должен быть как-то указан в этом javascript?
<div id="container" style="width: 100%;"><div id="loadingmsg" style="color:white; font-size: 12pt;">Loading...</div></div>
<script type="text/javascript">
new easyXDM.Socket({
remote: "http://dev.ultimatetripstore.com/Book/Arrival-External?pid=1&SkinSrc=/portals/_default/skins/_default/no%20skin&ContainerSrc=/portals/_default/containers/_default/no%20container&bgcolor=000&fontcolor=fff&themecolor=d80c8c&hcolor=ffffff",
swf: "http://dev.ultimatetripstore.com/easyxdm.swf",
container: document.getElementById("container"),
onMessage: function(message, origin){
this.container.getElementsByTagName("iframe")[0].style.height = message + "px";
this.container.getElementsByTagName("iframe")[0].style.width = "100%";
this.container.getElementsByTagName("iframe")[0].frameborder = 0;
this.container.getElementsByTagName("iframe")[0].style.border = "0px solid red";
this.container.getElementsByTagName("iframe")[0].scrolling="no";
}
});
</script>
1 ответ
Просмотрев файл easyXDM.js, я нашел, как правильно добавить файл name.html.
Это предполагает, что iFrame уже работает в некоторой степени.
На сайте провайдера
- Добавьте name.html в корень каталога
Внизу страницы вашего обеспечения добавьте следующий фрагмент, убедитесь, что вы включили локальное свойство и задали для него местоположение вашего файла name.html.
<script type="text/javascript"> var socket = new easyXDM.Socket({ local: "name.html", onReady: function () { socket.postMessage(document.body.scrollHeight); } }); </script>
На потребительском сайте
Добавьте свойство remoteHelper к существующему фрагменту javascript и укажите его в файле потребителей name.html. Так в моем случае это было:
<div id="container" style="width: 100%;"></div> <script type="text/javascript"> new easyXDM.Socket({ remote: "http://dev.ultimatetripstore.com/Book/Arrival-External?pid=1&SkinSrc=/portals/_default/skins/_default/no%20skin&ContainerSrc=/portals/_default/containers/_default/no%20container&bgcolor=000&fontcolor=fff&themecolor=d80c8c&hcolor=ffffff", remoteHelper: "http://dev.ultimatetripstore.com/name.html", swf: "http://dev.ultimatetripstore.com/easyxdm.swf", container: document.getElementById("container"), onMessage: function(message, origin){ this.container.getElementsByTagName("iframe")[0].style.height = message + "px"; this.container.getElementsByTagName("iframe")[0].style.width = "100%"; this.container.getElementsByTagName("iframe")[0].frameborder = 0; this.container.getElementsByTagName("iframe")[0].style.border = "0px solid red"; this.container.getElementsByTagName("iframe")[0].scrolling="no"; } }); </script>
Надеюсь, это поможет кому-то еще.