【问题标题】:Load external sites div into iframe using jquery使用 jquery 将外部网站 div 加载到 iframe 中
【发布时间】:2012-11-03 04:23:53
【问题描述】:

我有一个针对特定受众的部门网站。我希望在每篇文章的末尾添加一个外部站点的相关链接列表。

链接列表将在 div 中,例如:<div id="linktoc"><a href="external.com">link 1</a>, <a href="external2.com">link 2</a>, etc...</div>

iframe 将位于 div 下方

现在的目标是将上面的外部链接中的 div <div class="article">HTML Content I want</div> 加载到 iframe 中。

我的 jquery 知识和基本的 html 知识有限。我怀疑这有什么不同,但会被加载到 Sharepoint 2007 中的内容编辑器 Web 部件中。

感谢任何能够提供帮助的人。

【问题讨论】:

  • 据我所知,您无法真正将 url 中的元素加载到 iFrame 中,除非它位于您自己的域中并且您正在使用 load() 将该元素加载到另一个页面中您在 iFrame 中显示,或者您可以在服务器端解析 HTML 以提取元素,但在任何一种情况下都不需要 iFrame!

标签: jquery html iframe load


【解决方案1】:

您不能这样做,因为same origin policy - 浏览器不允许您操作属于另一个域的网页。

如果“外部”站点属于同一个域,它可以工作:

【讨论】:

  • 也许我对域/子域有一些疑虑,但我的站点是 team.company.com 和另一个 company.company.com。我认为这将不再可能。我知道相同的原产地政策,但我显然没有完全理解它的限制。谢谢你们的解释。
  • 正确,team.company.com 和 company.company.com 被视为不同的域。您需要研究更复杂的技术,例如作为解决方法的 postmessaging,或者通过其他渠道获取内容 - 或者只是在 iframe 中显示整个页面。 JSONP 或 CORS 是另外两种跨域技术,但 SharePoint 不支持它们。
  • 上次我把它拖了出来,但是如果我选择加载整个页面,我可以使用 jquery 隐藏元素(例如:display:none),它不等于我正在寻找的类,对吗?
  • 同样的问题,你不能因为加载的页面在不同的域中。
猜你喜欢
  • 1970-01-01
  • 2012-10-09
  • 1970-01-01
  • 2011-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多