如何使用javascript或jQuery解析html内容

如何使用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”请求都会受

有没有一种方法可以使用javascript解析html内容

我需要在我的站点中只显示来自其他站点的div。可能吗?例如,我想在我的站点中只显示<代码> div >左边栏>代码> > W3Studio.com <代码>。这可能吗

如何使用javascript或jQuery实现同样的功能


谢谢。

您需要使用
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

您需要看看:

在计算技术中,同源策略 是一个重要的安全概念 浏览器端编程的数量 语言,如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

您需要创建一个Web服务来引入代码。这是因为由于安全限制,无法通过JavaScript拉入数据。这被称为同一原产地政策,并链接到此页面的其他位置

如果使用asp.net技术,可以使用
HtmlAgilityPack
在服务器端解析它

然后可以使用
.load()
从jQuery调用数据:

您可以将其加载到一个隐藏的div中,例如:

$("#result").load("/webservice/pulldata.ashx");

并像查询任何普通jquery元素一样进行查询。

您需要创建一个Web服务来提取代码。这是因为由于安全限制,无法通过JavaScript拉入数据。这被称为同一原产地政策,并链接到此页面的其他位置

如果使用asp.net技术,可以使用
HtmlAgilityPack
在服务器端解析它

然后可以使用
.load()
从jQuery调用数据:

您可以将其加载到一个隐藏的div中,例如:

$("#result").load("/webservice/pulldata.ashx");

并像任何普通jquery元素一样查询它。

如果要绕过XSS保护,可以编写自己的服务器请求并从中获取信息。 示例(php):

getContent.php

<? $fileContent = file_get_content("http://w3schools.com");
   echo $fileContent; ?>

那你可以用任何东西