你需要“name.html”才能让EasyXDM iFrame调整大小吗?

时间:2013-11-08 03:02:23

标签: javascript iframe cross-domain easyxdm

有人知道在调整浏览器跨域时是否需要“name.html”easyxdm文件,如果你这样做,你告诉easyxdm在哪里寻找它?

我目前从iFrame中的其他网站上提取预订表单,但我看不到引用name.html的任何示例,所以我担心我没有正确设置。

该页面看起来确实有效,我只想确保我已经涵盖了所有内容。

我正在使用的演示在这里:Test page pulling data from dev site on another domain.

这是我在使用网站上的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 个答案:

答案 0 :(得分: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>
    
  3. 在消费者网站上

    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>
      
    2. 希望这有助于其他人。