0

如果有任何方法可以将内容从外部页面(同一网站/根目录中的页面)加载到不使用 javascript 的 div 中,我会感到很困惑吗?

该站点使用了大量的 jquery load(),但它有一个页面必须在没有激活 javascript 的情况下可用。它应该更适合网站结构来加载该内容而不是重新加载整个页面,所以现在我正在寻找一些没有 javascript 的解决方案(如果存在)。

示例:我要加载内容的Index.html #get_contentdiv 和包含该内容的页面和 div 是Content.html #send_content.

谢谢。

4

2 回答 2

2

在没有 JS 的客户端上执行此操作的唯一方法是在您的 div 中放置一个iframe

正如 DumbSearch 所指出的,您可以抓取服务器上的内容,使用服务器端 DOM 解析工具(取决于您的服务器),检索您想要的内容并将其粘贴到您的页面中。请注意,您将负责获取相关的 JS 和 CSS,并且 CSS 可能无法正常工作,因为某些选择器可能依赖于存在的父/祖先节点,就像 JS 一样。

于 2013-01-08T06:12:40.180 回答
1

jQuery load() 是在服务器端完成此任务的最佳方式。

您可以使用iFrame,如下所示:

<iframe src="http://example.com/something.html"></iframe>

有很多属性可以用来iFrame调整宽度、边框、高度和其他东西。

从 HTML5 开始(目前只有 Chrome 支持),您可以使用该seamless属性将 iFrame 作为文档的一部分,例如load(),而不是文档中的窗口。

通常 PHP 是一种非常简单的服务器端语言,可以剪切并粘贴到您的项目中(除非它依赖于另一种冲突的服务器语言),您可以执行以下操作,这将完成类似的操作load()

<?php
$homepage = file_get_contents('http://example.com/something.html');
echo $homepage;
?>

编辑:正如 Juan Mendes 指出的那样,如果您使用 PHP(或任何服务器语言),您将负责获取相关的 JS 和 CSS,并且 CSS/JavaScript 可能无法工作,因为某些选择器可能依赖于父级/ancestor 节点存在。使用 iFrame,您只需查看文档中的外部页面,这与服务器语言解析器不同,后者从站点抓取代码,然后将其打印在页面上。

于 2013-01-08T06:18:07.447 回答