使用jquery获取其他域网站的源代码

时间:2013-11-19 04:18:29

标签: javascript jquery html ajax cross-domain

我想获取youtube页面源代码的一部分。

我尝试过跨域ajax技术,例如yahoo yql,JsonP。在雅虎YQL的帮助下,我可以获取部分源代码。但是,由于它可能是不同的域,我从ajax响应文本中获得的内容中没有参数。如何在不使用服务器端程序的情况下解决问题?感谢

链接:http://www.youtube.com/watch?v=F6JiCJ5x3Qw

您可以从元素检查器中看到,有一行<div id="player-api" class="player-width player-height off-screen-target watch-content player-api" style="overflow: hidden;">

我想获得这个div中的所有元素

2 个答案:

答案 0 :(得分:2)

在这种情况下,最简单的方法可能是使用YouTube API。

但是,一般来说,您要做的是将页面加载到iFrame而不是div:

<iframe id="iframe" src="http://targetwebsite.com/"></iframe>

然后按如下方式获取iFrame的HTML:

document.getElementById('iframe').contentWindow.document.body.innerHTML

答案 1 :(得分:1)

如果您无法控制端点(在本例中为youtube),请在您自己的服务器上使用代理脚本

因此,您不会调用youtube网址,而是调用yourproxyscript?some_arguments。现在,“yourproxyscript”将加载youtube网址并将其返回到您的ajax调用,绕过任何跨域问题。

相关问题