2013-10-28 22 views
0

我與服務工作的兩個環節叫Embedly,這使得它能夠「豐富」的網頁鏈接的人。嵌入式的人們已經可以用jQuery調用那裏的API了。提取物在同一時間

所以第一個有這樣的鏈接:

<a href="http://www.bbc.co.uk/news/business-24692392">bbc</a> 

然後調用API做魔術這樣的:

var hr = $('a').prop('href'); 

$.embedly.extract([hr], {key: '672cb2dfbc7249f2beb67db44204a39c'}) 
    .progress(function(result){ 
    $('body').html(result.content); 
    }); 

的問題是,我似乎無法處理兩個鏈接在同一時間。如果你看看下面這個例子在JsFiddle(link)你會看到只有一個鏈接正在處理中。我試圖用jQuery each解決這個和調用兩個環節是不同的變量,但API始終處理的最後一個網址。我如何獲得它來處理多個網址?

回答

2

林多JavaScript的傢伙,所以在這裏你走的......

var link=document.getElementsByTagName('a'); 
for(var i=0;i<link.length;i++) 
{ 
    $("a").css("visibility","hidden"); 
    $.embedly.extract([link[i].href], {key: '672cb2dfbc7249f2beb67db44204a39c'}) 
    .progress(function(result){  
    document.body.innerHTML +=result.content;  
    }); 
} 

WORKING DEMO

+0

謝謝:)這是(幾乎)正是我一直在尋找。我現在可以參考的所有鏈接,但我注意到API仍然被稱爲兩倍,而有文件說它可以在一個批次因此多數民衆贊成有點奇怪要求20。另外你有任何想法,爲什麼這不起作用:'$( '主體')HTML(result.content);'' – Youss

+2

設置.html'的'body'爲'result.content'的HTML。它不會追加到HTML的末尾。如果你想使用jQuery,你使用'$(「身體」)追加(result.content);' –

+0

HAHAHA林這樣一個白癡:)再次感謝你 – Youss

2

我不知道embedly,但我看到你正在分配的結果對身體的HTML,這可能有效。

HTML:

<a id="a0" href="http://www.bbc.co.uk/news/business-24692392">bbc</a> 

<a id="a1" href="http://www.bbc.co.uk/news/world-us-canada-24699733">bbc</a> 
<div id="resultA"></div> 
<div id="resultB"></div> 

JS

var hr0 = $('#a0').prop('href'); 
var hr1 = $('#a1').prop('href'); 

$.embedly.extract([hr0], {key: '672cb2dfbc7249f2beb67db44204a39c'}) 
    .progress(function(result){ 
    $('#resultA').html(result.content); 
    }); 
$.embedly.extract([hr1], {key: '672cb2dfbc7249f2beb67db44204a39c'}) 
    .progress(function(result){ 
    $('#resultB').html(result.content); 
    }); 

http://jsfiddle.net/wwkhR/5/

+0

非常感謝你:)這實際上越過我的腦海裏,但我試圖避免這種情況,因爲林處理20個網址,所以我會有兩個20調用API而不是一批一批 – Youss