【问题标题】:avoiding iframes, but having some iframe like activity in Rails避免使用 iframe,但在 Rails 中有一些类似 iframe 的活动
【发布时间】:2010-09-06 10:15:26
【问题描述】:

我有两个站点,我的主站点和一个带有文档的帮助站点。主站点是rails,但另一个是简单的wordpress,如博客。目前我已经用 iframe 将它拉入主站点,但是有没有一种好方法可以从其他站点拉入 html 作为某种跨域(实际上是子域)部分?还是我应该坚持什么有效?

【问题讨论】:

  • 虽然您可以采用不同的方式解决问题,但您的 iFrame 解决方案有什么问题?

标签: ruby-on-rails ruby iframe html partial


【解决方案1】:

如果数据源都在同一个域中,您将能够直接使用AJAX 来获取您的补充内容并将其移植到您的页面上。但是,由于数据来自不同的域,网络浏览器中内置的same origin security policy 会阻止它工作。

一种流行的解决方法称为JSONP,它可以让您从任何合作的服务器获取数据。您的实现可能看起来像这样(使用 jQuery):

$.getJSON(
  "http://my.website.com/pageX?callback=?",
  function(data) { 
    $("#help").append(data) 
  } 
)

唯一的问题是您的服务器返回的数据必须包装为 javascript 函数调用。例如,如果您的数据是:

<h1>Topic Foo</h1>

那么你的服务器必须像这样响应 JSONP 请求:

callbackFunction("<h1>Topic Foo</h1>")

【讨论】:

    猜你喜欢
    • 2011-04-27
    • 1970-01-01
    • 2011-10-24
    • 2023-04-02
    • 2021-01-02
    • 2013-01-07
    • 2013-01-06
    • 2012-03-23
    • 1970-01-01
    相关资源
    最近更新 更多