【问题标题】:Are there any alternatives for an IFrame if I need to load an external url to my webpage如果我需要将外部网址加载到我的网页,是否有任何 IFrame 替代方案
【发布时间】:2010-01-27 11:10:24
【问题描述】:

我需要知道是否有任何 IFrame 替代方案可用于将外部 URL 加载到我的网页中。即使是 JQuery 或 JavaScript 或 PHP

【问题讨论】:

  • 动态或仅在页面加载时?
  • 只是页面加载,只需要加载一个外部url

标签: php javascript jquery html


【解决方案1】:

您在页面中定义一个容器,例如:

<div id="external"></div>

然后你通过 jQuery 用 AJAX 调用填充它:

$('#external').load("http://remote.page/");

编辑:正如 Graza 在评论中指出的那样,如果外部页面在另一个域上,由于 XMLHttpRequest 对象的限制,这将不起作用——如果你需要你必须做一个 JSONP 请求,这需要服务器端的合作。请参阅this article 了解更多信息。

【讨论】:

  • 如果“remote.page”来自不同的域,这将不起作用吗?
  • 当我尝试显示错误时,我尝试从不同的域加载页面
【解决方案2】:

不过,请务必小心谨慎,确保您绝对信任第 3 方网站。如果他们将 javascript 注入您的页面,它将在与您自己的网站相同的上下文中运行,这可能会导致各种骇人听闻的事情,然后只会流泪和悲伤。 IFrame 为您提供了一定程度的保护。

【讨论】:

    【解决方案3】:

    使用.load()

    例子:

    $("#feeds").load("feeds.html");
    

    【讨论】:

    • 小心,因为这将加载整个 html,包括不应在页面中重复的 html 和 body 标签 ..
    • 废止我上面的评论.. .load 负责处理.. (它只在 body 标签中引入元素..)
    猜你喜欢
    • 2012-02-10
    • 2013-09-04
    • 1970-01-01
    • 1970-01-01
    • 2011-12-30
    • 1970-01-01
    • 2023-04-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多