【问题标题】:Do you need "name.html" for EasyXDM iFrame resizing?您需要“name.html”来调整 EasyXDM iFrame 的大小吗?
【发布时间】:2013-11-19 23:29:59
【问题描述】:

有谁知道在调整浏览器跨域大小时是否需要“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>

【问题讨论】:

    标签: javascript iframe cross-domain easyxdm


    【解决方案1】:

    查看easyXDM.js文件后,我发现了如何正确添加name.html文件。

    这是假设您已经让 iFrame 在某种程度上工作。

    在供应商网站上

    1. name.html添加到目录的根目录
    2. 在提供页面的底部添加以下 sn-p,确保包含 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 sn-p 并将其指向使用者 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>
      

    希望这对其他人有所帮助。

    【讨论】:

    猜你喜欢
    • 2012-11-16
    • 2017-07-14
    • 1970-01-01
    • 2014-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多