1

是否可以在一个网站上找到某些元素的属性并在另一个网站上显示它们?例如,如果我有网站 1,我可以使用 Javascript/jQuery 找出网站 2 上特定图像或 div 的大小并在网站 1 上显示这些属性吗?

如果我不能用 Javascript 做类似的事情,是否有另一种方法来完成那个特定的例子?

4

2 回答 2

1

1 . 使用任何 AJAX 库都无法完成您尝试做的事情。浏览器的跨域策略不允许您这样做。

但是您可以结合使用 php(或任何其他服务器端语言)和 AJAX 来做到这一点。像这样创建一个 php 脚本:

<?php
    $url=$_POST['url'];
    if($url!="")
        echo file_get_contents($url);
?>

假设脚本的名称是fetch.php. 现在你可以从你的 jQuery 代码中抛出一个 AJAX 调用fetch.php,它会为你获取 HTML 代码。

2 . 相同的起源适用。试试这个代码,你会面临安全错误,

$.get("other web page site", {}, function(content){
   $("#receipe").html(content)
}, "html")

3 . 使用 Greasemonkey,可以提出第三方请求。此页面上提供了面向 jQuery 的教程。让 Greasemonkey 代表您提出请求的简短回答。XMLHttpRequest用对象替换所有GM_xmlhttpRequest对象。

有用的链接,

Javascript 可以读取任何网页的源代码吗?

http://www.sitepoint.com/forums/showthread.php?836704-How-to-get-contents-of-3rd-party-website-into-javascript-variable

于 2013-08-18T17:40:25.927 回答
0

遗憾的是,由于相同的来源策略,您无法访问不同域上的 DOM。如果您控制这两个域,您也许可以使用CORS并修改服务器 HTTP 标头以允许 Javascript 访问。

解决方法是使用服务器充当两个网站之间的代理。因此,您将在网站 1 上有一个服务器端脚本,该脚本将向网站 2 发送请求并从网站 1 返回内容。

于 2013-08-18T17:39:53.997 回答