-1

假设我有一个网站,比如http://example.com。现在我想设计一个网站,我需要一些来自 example.com 的信息。例如,我可以使用 HTML/Javascript/JQuery 从网站源中取出特定行并将其存储在我的编码中的字符串中吗?

例如,假设 example.com 代码中的第 35 行是:- <h3> Welcome user</h3>。所以在我的代码中的一个字符串中,我想存储“ <h3>Welcome user</h3>”。我该怎么做?有什么建议么?

4

3 回答 3

1

由于跨域限制,JavaScript 无法访问其他服务器。但是,您可以访问自己的服务器并使用 PHP 之类的东西来完成工作:

echo file("http://example.com/")[34];

然而,你真的想这样做吗?毕竟,对网站的任何更改(您似乎无法控制)都会破坏您的代码,他们甚至可以在那里注入一些东西,如下所示:

<script>if(location.hostname != "example.com") kill_the_browser_slowly();</script>

我认为您最好解析 DOM,如下所示:

$dom = new DOMDocument();
$dom->loadHTML(file_get_contents("http://example.com/"));
$h3 = $dom->getElementsByTagName('h3')->item(0);
if( !$h3) echo "<h3>Can't find the header</h3>";
else echo $dom->saveHTML($h3);
于 2013-06-24T16:46:44.147 回答
0

仅使用 jQuery/Javascript/HTML 是不可能的。为此,您需要依赖一些服务器端技术。

于 2013-06-24T16:43:24.570 回答
0

如果没有像 node.js 或 php 这样的服务器端脚本语言或任何其他服务器端语言,您将无法做到这一点。

原因:要通过 JavaScript 从您的页面向另一个页面发出请求,您必须使用 AJAX,除非使用 CORS(您复制的页面必须允许),否则您不能在另一个域上运行。AJAX 请求通常绑定到它们源自的域,

于 2013-06-24T16:44:43.257 回答