如何使用javascript或jQuery解析html内容
有没有一种方法可以使用javascript解析html内容 我需要在我的站点中只显示来自其他站点的div。可能吗?例如,我想在我的站点中只显示<代码> div >左边栏>代码> > W3Studio.com <代码>。这可能吗 如何使用javascript或jQuery实现同样的功能如何使用javascript或jQuery解析html内容,javascript,jquery,html,parsing,Javascript,Jquery,Html,Parsing,有没有一种方法可以使用javascript解析html内容 我需要在我的站点中只显示来自其他站点的div。可能吗?例如,我想在我的站点中只显示 div >左边栏>代码> > W3Studio.com 。这可能吗 如何使用javascript或jQuery实现同样的功能 谢谢。您需要使用HTTPRequest抓取HTML内容,然后您可以抓取希望在页面中显示的HTML内容。为此,您需要了解某种服务器端语言,不幸的是,由于浏览器安全性限制,Ajax/jQuery无法用于此,大多数“Ajax”请求都会受
谢谢。您需要使用
HTTPRequest
抓取HTML内容,然后您可以抓取希望在页面中显示的HTML内容。为此,您需要了解某种服务器端语言,不幸的是,由于浏览器安全性限制,Ajax/jQuery无法用于此,大多数“Ajax”请求都会受到以下限制:;该请求无法成功地从其他域、子域或协议检索数据。您需要使用HTTPRequest
获取HTML内容,然后您可以删除希望在页面中显示的HTML内容。为此,您需要了解某种服务器端语言,不幸的是,由于浏览器安全性限制,Ajax/jQuery无法用于此,大多数“Ajax”请求都会受到以下限制:;请求无法成功地从其他域、子域或协议检索数据。我能想到的是:
<div style="hidden" id="container"></div>
根据一条评论:是的,这是真的,有一个同源策略():
由于浏览器的安全性限制,大多数“Ajax”请求都受到限制
同一原产地政策;请求无法成功检索
来自不同域、子域或协议的数据
那么,为什么不在您的域中创建一个代理,然后使用代理的输出呢?!嘿,这是长篇大论-真的。。。但它是有效的:)我能想到的是:
<div style="hidden" id="container"></div>
根据一条评论:是的,这是真的,有一个同源策略():
由于浏览器的安全性限制,大多数“Ajax”请求都受到限制
同一原产地政策;请求无法成功检索
来自不同域、子域或协议的数据
那么,为什么不在您的域中创建一个代理,然后使用代理的输出呢?!嘿,这是长篇大论-真的。。。但它是有效的:)您需要看看: 在计算技术中,同源策略 是一个重要的安全概念 浏览器端编程的数量 语言,如JavaScript。这个 策略允许在上运行脚本 来自同一站点的页面 访问彼此的方法和 没有特定属性的属性 限制,但阻止访问 跨应用程序的大多数方法和属性 不同网站上的网页 要获取数据,必须: 相同的协议和主机 您需要实施以解决此问题
尽管在同一协议和主机上,jQuery具有如下功能:
$('#foo').load('somepage.html div#leftcolumn', function(){
// loaded
});
另一种可能的解决方案(未经测试)是使用服务器端语言,您不需要
jsonp
。下面是一个PHP示例
1) 创建一个名为ajax.php
的php页面,并将以下代码放入其中:
<?php
$content = file_get_contents("http://w3schools.com");
echo $content ? $content : '0';
?>
确保:
- 您可以为
文件指定正确的路径ajax.php
- 您已从php.ini打开
- 将您的
替换为要将接收到的内容放入的元素的yourDiv
id
尽管在同一协议和主机上,jQuery具有如下功能:
$('#foo').load('somepage.html div#leftcolumn', function(){
// loaded
});
另一种可能的解决方案(未经测试)是使用服务器端语言,您不需要
jsonp
。下面是一个PHP示例
1) 创建一个名为ajax.php
的php页面,并将以下代码放入其中:
<?php
$content = file_get_contents("http://w3schools.com");
echo $content ? $content : '0';
?>
确保:
- 您可以为
文件指定正确的路径ajax.php
- 您已从php.ini打开
- 将您的
替换为要将接收到的内容放入的元素的yourDiv
id
HtmlAgilityPack
在服务器端解析它
.load()
从jQuery调用数据:
$("#result").load("/webservice/pulldata.ashx");
并像查询任何普通jquery元素一样进行查询。您需要创建一个Web服务来提取代码。这是因为由于安全限制,无法通过JavaScript拉入数据。这被称为同一原产地政策,并链接到此页面的其他位置 如果使用asp.net技术,可以使用
HtmlAgilityPack
在服务器端解析它
.load()
从jQuery调用数据:
$("#result").load("/webservice/pulldata.ashx");
并像任何普通jquery元素一样查询它。如果要绕过XSS保护,可以编写自己的服务器请求并从中获取信息。 示例(php): getContent.php
<? $fileContent = file_get_content("http://w3schools.com");
echo $fileContent; ?>
那你可以用任何东西