1.Locates flickr links with class' high_res_link and puts them in array [].
2.Opens flickr link with extension "sizes/h/"
3.finds largest photo dimensions on flickr. Then goes to that link. Or if there arent any big enough goes to step 2 and goes to next
array.
4. then opens link to download if downloading is enabled. If not goes to step 2 and goes to next array.
5. Goes to step 2 and goes to next array.
我正在尝试编写一些跨越两个域的代码:Tumblr和Flickr。
我目前用Jquery和Javascript编写了3个函数,我想在2个不同的URL上运行:
function link_to_flickr() {
var hre = [];
$('.high_res_link').parent(this).each(function(){
var h = $(this).attr('href') +"sizes/o/";
hre.push(h);
});
alert(hre[0]);
}
这会在Tumblr页面上找到我想要的Flickr页面上的链接。并将它们放在一个数组中。
function find_large_quality() {
var w = 1280;
var h = 720;
var matchingDivs = $("small").each(function () {
var match = /^\((\d+) x (\d+)\)$/.exec($(this).text());
if (match) {
if (parseInt(match[1], 10) >= w && parseInt(match[2], 10) >= h) {
return true;
}
}
return false;
});
var href = $.trim(matchingDivs.text()).match(/\(.*?\)/g);
if (matchingDivs.length >= 1) {
alert("success");
} else {
alert("fail");
}
var ho = $('small:contains("'+href[href.length - 1]+'")').parent(this).find("a").attr("href");
alert("http://www.flickr.com"+ho);
}
此功能在Flickr URL上执行一次,然后搜索尺寸大于720p的图像。
function Download(){
var heyho = $('a:contains("Download the")').attr('href');
window.open(heyho, '_blank');
}
下载图像文件。一旦达到最高质量的Flickr URL
每个alert
我想要打开网址。并执行下一个功能。我一直在尝试一种方法的年龄和年龄来做这样的事情。
使用AJAX,使用PHP,使用Jsonp,使用jquery.xdomainajax.js等...但我无法自己想出足够的方法。
有没有人会建议他们做这样的事情?
答案 0 :(得分:1)
除非域允许,否则您通常无法在CORS上运行不同域上的函数。
如果您正在撰写用户说明/扩展程序,那么您可以在内容脚本的两个页面上使用postMessage(quick tutorial on how to use it cross-domain)并使用已实现的页间通信来控制脚本流动。
另一种方法是使用您要访问的网站的API。
或者使用带有BeautifulSoup的Python。