【问题标题】:Loading iframe of specific portion of website加载网站特定部分的 iframe
【发布时间】:2012-12-31 18:27:23
【问题描述】:

我想使用 jQuery 和 AJAX 加载部分外部网站内容,因为我已经读到您可以这样做。我只想按照这篇文章iframe to Only Show a Certain Part of the Page 中的说明加载网站的一部分。

我对尝试加载的网站拥有完全的版权许可。 谢谢, 埃特雷

【问题讨论】:

  • 那么,你的问题是什么?
  • 如何只加载外部网站的一部分,实际上是特定的外部<div>,在 iframe 或特定的 <div>@MateuszRogulski 内

标签: jquery html


【解决方案1】:

为此,您可以在主页中创建一个 div

<div id='iframediv'>
</div> 

然后在您的 JS 代码中提及以下行

$('#iframediv').load('https://www.google.co.in #DIVNAME');

这里你必须用目标 URL 替换 https://www.google.co.in。并将DIVNAME替换为目标页面中的target div id

更新:

如果您由于安全问题访问不同域中的页面,此方法将不起作用。在这种情况下,您可以执行以下操作

  1. 在您的网络中创建New Server-side Page (say GetContent.aspx) 应用程序(以便域相同)。
  2. 然后在服务器端您可以加载所需的页面(从不同的 域)并提取所需的部分。如果您无法提取该部分,请加载完整页面。
  3. 然后将此内容加载到New Server-side Page (say GetContent.aspx)
  4. 现在您可以使用.load 函数显示此GetContent.aspx。如果您使用的是完整页面(不提取),请使用以下代码加载所需的内容 div。

    $('#iframediv').load('https://www.google.co.in #DIVNAME');

【讨论】:

  • 可以是外域吗?
  • 如果是外部域,您可以按照答案更新中的说明进行操作
  • GetContent 页面上,您会推荐html iframe 还是jq​​uery .load 方法? @狼
  • 如果您想在运行时加载内容,请使用.load 方法。如果您想在页面加载的同时加载内容,那么iframe 将是一个简单的选项
  • embedding-part-of-a-web-site#answer-2225401 在这个答案中检查“使用 simplexml 和 xpath”部分,只需复制粘贴代码即可。这应该工作
【解决方案2】:

您声明这是一个外部网站。如果网站在同一个域中,你可以使用 jquery 的 load 方法来做到这一点

$('#iframediv').load('https://www.google.co.in #DIVNAME');

如果页面是外部的,您将无法执行此操作。您可以查看外部页面,看看是否有命名锚。如果有,您可以在 iframe 的 src 中使用该锚点,以使 iframe 开始滚动到该位置。我认为它不会完全满足您的需求,但它是您在外部域上的页面所能获得的最接近的结果。

<iframe src="http://externalsite.com/page.html#nameofanchor"/>

【讨论】:

  • 是否可以使用.load 或类似方法在不同域的 iframe 中加载网站的一部分? @狼
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多