有没有办法通过jQuery或Javascript超链接来自不同Url的信息,例如Youtube视频到我网站的观看量?
我试过了:
<script>
$(document).ready(function(){
$('#response').load('http://www.youtube.com/watch?v=lrC2alc_ekol .watch-view-count');
});
</script>
HTML:
<div id="response"></div>
答案 0 :(得分:2)
是的,这简称为应用程序编程接口或API。如果您正在寻找YouTube API,可以在此处找到:https://developers.google.com/youtube
答案 1 :(得分:0)
是的,即您可以使用jQuery Load,一旦加载了外部页面,就可以使用选择器提取您想要的特定信息。
jQuery load external site page
即
$('#myEl').load('remotePageUrl #remotepageIDselector');
如果myEl是页面中的元素,则remotePageUrl是外部站点,而remotepageIDselector是包含所需信息的元素的id,您可以使用任何选择器。
更新: @ user2768038,我必须去man,但是下面的代码片段应该可以工作,会发生的是你正在进行跨域调用,前面的答案适用于你自己的域,但是下面的代码应该可以工作:
$.getJSON('http://anyorigin.com/get?url=youtube.com/watch?v=lrC2alc_eko&callback=?', function(data){
var valueToFind;
$.each($(data.contents), function(i, el) {
// if we have the value scape ffrom the cicle
if(valueToFind && typeof valueToFind !== undefined) {
// alert the requested value
alert(valueToFind);
return false;
}
// search for the element in the current dom section
valueToFind = $(el).find('.watch-view-count').html();
});
});
但这确实是这样的: 1-贵你正在对页面做一个完整的请求, 2-昂贵的你多次遍历完整的DOM树。 3-不安全,因为外部网站所有者可以随时更改代码。
此外,我的解决方案远非最佳,我将在晚上更新帖子,但这应该在本地工作,至少在Firefox中,以及将代码发布到服务器后的crossbrowser。