我想知道如何实现这一目标。
我需要从外部链接站点获取所有图像并将其显示在其他站点中。没有jQuery是可行的吗?使用简单的javascript或flash?
任何人都可以提出一些教程或其他内容吗?
如果是javascript,那么它必须是非常简单的代码,因为我想让它在eBay列表中运行。
示例:在列表中将出售XXX手机的持有者,我想在底部放置一个幻灯片或类似的完全相同的项目(来自同一类别)。我想给它一个功能,所以我只需要更改类别的链接,图片会自动更改。更多钞票?
谢谢,
如果我没有说清楚,请问,我会更详细地解释。
答案 0 :(得分:5)
注意:请求者表示此答案不适用于EIDE内容清单。
除此之外,它运作良好,它会激怒一些'网络开发者'(LOL)。我现在暂时把它留在这里。
我有一个偷偷摸摸的怀疑,你没有拥有/控制外部链接网站,因此'从外部链接网站获取所有图像并在其他网站上显示它们'(如问),将属于跨域安全性限制。
因此,为了重新获得“用户权力”,只需使用http://query.yahooapis.com/ 不会严格要求jQuery。
示例1:
使用类似SQL的命令:
select * from html
where url="http://stackoverflow.com"
and xpath='//div/h3/a'
以下链接将搜索SO以获取最新问题(绕过跨域安全公牛$!!7):
http://query.yahooapis.com/v1/public/yql?q=select%20%2a%20from%20html%20%0Awhere%20url%3D%22http%3A%2F%2Fstackoverflow.com%22%20%0Aand%20xpath%3D%27%2F%2Fdiv%2Fh3%2Fa%27%3B&format=json&callback=cbfunc
正如您所看到的,这将返回一个JSON数组(也可以选择xml)并调用回调函数:cbfunc
。
在您的情况下,您可以捕获图像链接并将其包含在您的页面中。
示例2:
正如下面的评论中所述,纯JavaScript中的示例不仅从Ebay商店获取 image-url的,而且还获取 product-title的< / em>和产品网址(将它们显示为带有产品标题作为图像标题的超链接图像)。因此,它还显示了如何动态构建yql-string以及如何处理返回的数据。
function cbfunc(json){
if(json.query.count){
var data=json.query.results.div;
var i=0, l=data.length, htm='';
for(;i<l;i++){
htm+='<a href="'+data[i].a.href+'">' +
'<img title="'+data[i].a.img.title+'"' +
' src="'+data[i].a.img.src+'">' +
'</a>\n';
}
document.getElementById('output').innerHTML=htm;
} else {
alert('Error: nothing found'); return false;
}
}
function fetchEbayStore(url){
var yql="select a.href, a.img.src, a.img.title" +
" from html" +
" where url='" + url + "'" +
" and xpath='//td/div[@class=\"image\"]'";
yql="http://query.yahooapis.com/v1/public/yql?q=" +
encodeURIComponent(yql) +
"&format=json" +
"&callback=cbfunc";
getJSON(yql); //you need to provide getJSON or use a library
}
请参阅this 'quick 'n dirty' jsfiddle以查看上面的示例。请记住,这只是为了解释,而不是生产!
欲了解更多信息:阅读雅虎的yql - 文档,请参阅constructor右侧的实时示例。