Вам нужно "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 уже работает в некоторой степени.

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

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

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

Другие вопросы по тегам