jquery - 如何将来自本地域的 CSS 规则应用到来自另一个域的 iFrame 中的内容

标签 jquery css iframe ssi

过去 2 天我一直在自杀,试图做两件事:

  1. 使用来自另一个域的内容创建一个 iframe,该 iframe 将自动调整大小以适应 iframe 中内容的长度
  2. ~ 最重要的是~ 将 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/

相关文章:

javascript - 向预先存在的脚本中添加一次显示一次的功能和幻灯片动画

jquery datatable ajax 无数据可用 mvc

html - 如何让 iframe 始终居中对齐

javascript - 如果第一个 src 没有响应,请在 Iframe 中打开第二个 src?

javascript - Jquery:TypeError: $(...)._TMS 不是函数

javascript - 更新后的变量未在函数外读取

javascript - 在 ruby​​ on rails 4 元素中实现页面特定的 java 脚本和 CSS

css - Bootswatch 主题不提交表单数据

javascript - 我需要在渐变背景色上使用透明文本书写

r - 如何使用 Iframe 标记在 SharePoint 上嵌入 Shiny 的应用程序