1

我正在尝试将我的一个 Web 服务器上的脚本加载到另一个服务的托管站点上的页面中。目前,我正在使用 iframe 来完成这项工作。我遇到的问题是 iframe 无法根据 php 的输出动态扩展。

向我提出的建议是尝试将 php 输出注入 div,但我认为我不能跨域。

我从 example.net/scripts 上的 Web 服务器开始,我可以完全访问它,并将其加载到 example.us 上的页面中,因为它是托管服务(即 enjin),所以我对其访问权限非常有限。

我需要的是一个解决方案,它允许我从 Web 服务器调用 php 脚本,并在页面上显示它的输出,该元素可以根据脚本的输出进行扩展。当它拉取 php 脚本时,它需要在 CSS 中为 div (最小高度、最大高度)预定义的 CSS 参数中显示,但仅在脚本中返回的元素的高度处显示。

为了进一步澄清,我正在使用 php 脚本为来自 TwitchTV 的 API 的 json 输出执行 foreach 循环。当 foreach 循环运行时,它为每个返回的结果构建一个元素结构,以根据需要显示它们。如果我有太多返回,我最终会溢出 iframe,如果我没有返回,它只会返回一个字符串并显示它,但此时 iframe 的高度太高。

任何人都可以给我的例子或解决方案建议?

4

1 回答 1

0

由于您可以使用 AJAX,因此您的解决方案是使用 AJAX 调用非锁定站点上的代码,并返回包含内容的框。在锁定站点上,处理该代码,然后将其粘贴<div>到锁定站点上。当然,该 div 可以像往常一样扩展以适应内容。

如果出于某种原因,您必须使用 iframe,只需使用 javascript 收集框的高度(如果需要,您可以将框隐藏到左侧left: -9999px)。使用该高度信息来设置 iframe 的高度。所以你基本上是两次加载 iframe 的内容。一次通过 ajax 只是为了获得高度,一次通过实际的 iframe。

我真的看不出有任何理由认为 iframe 是必要的——第一段中的过程应该可以正常工作。

于 2013-02-27T03:22:25.800 回答