Вам нужен name.html для изменения размера EasyXDM iFrame?

Кто-нибудь знает, требуется ли вам файл easyxdm name.html при изменении размера междоменного браузера, и если да, то где вы скажете 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>

person Alex    schedule 08.11.2013    source источник


Ответы (1)


Просмотрев файл easyXDM.js, я понял, как правильно добавить файл name.html.

Предполагается, что у вас уже есть в какой-то степени работающий iFrame.

На сайте провайдера

  1. Добавьте name.html в корень каталога.
  2. Внизу страницы предоставления добавьте следующий фрагмент, убедитесь, что вы включили свойство local и задали его местоположение для вашего файла name.html.

    <script type="text/javascript">
    var socket = new easyXDM.Socket({
        local: "name.html",
        onReady: function () {
        socket.postMessage(document.body.scrollHeight);
        }
    });
    </script>
    

На потребительском веб-сайте

  1. Добавьте свойство 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>
    

Надеюсь, это поможет кому-то другому.

person Alex    schedule 08.11.2013
comment
так мало людей работали с easyXDM. Можете ли вы взглянуть на stackoverflow.com / questions / 27203172 / пожалуйста? - person VB_; 30.11.2014