过去 2 天我一直在自杀,试图做两件事:
- 使用来自另一个域的内容创建一个 iframe,该 iframe 将自动调整大小以适应 iframe 中内容的长度
- ~ 最重要的是~ 将 css 样式应用于该 iframe 中 [来自外部域的] 内容。
我探索了 jQuery 的东西,并没有找到“可靠”的爱,“frameReady()”插件似乎已经消失了……我不确定该怎么做——或者即使这是最好的方法.
所以;是否有更好、更可靠的方法来实现这一目标? 我可以完全访问服务器,所以 .htaccess/php/cgi - 甚至包括 apache [linux!] 的 conf 是可能的。 需要注意的是,其中一个框架是预订系统,需要来回传递数据。 [从技术上讲,另一个框架也是……]
-谢谢 -肖恩
最佳答案
从技术上讲,IFRAME 是另一个窗口,因此外部窗口的 CSS 不能应用于带框架的 HTML 文档中的 HTML。
自动调整大小是可能的,前提是允许窗口之间进行通信,但我不确定这是可靠的跨域,尤其是跨浏览器。如果两个窗口都在同一个域中,那么是的。另一种方法是滚动条,它们不是的坏东西。
预订系统可以称为服务器端并在您的页面中重新提供服务,但如果您试图包含预订系统的交互性,这也是一个很大的痛点。我不知道你可以使用的任何软件包都会为你做这件事。
我倾向于要么坚持使用 IFRAME,要么致力于为预订系统贴上白色标签,以便在 IFRAME 中更好地呈现。除非您并不是说您拥有预订系统服务器的完全访问权限,在这种情况下,如果预订系统没有为此提供专门的 API,您将陷入困境。
您将需要重新编写其内容并通过您的服务器传输交互性,就像代理一样,或者类似于 skyscanner.net 和 confused.com 所做的事情。
关于jquery - 如何将来自本地域的 CSS 规则应用到来自另一个域的 iFrame 中的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4810852/