2011-05-20 49 views
1

我想要一個鏈接列表,每個鏈接打開一個已經在links.xml中預定義的不同Youtube視頻。這個文件完美地工作,並且生成所有鏈接,但是每當我點擊其中任何一個它都會打開一個新選項卡,其中鏈接列表中的最後一個鏈接的URL。我究竟做錯了什麼?谷歌瀏覽器擴展程序:for循環來分配chrome.tabs.create函數

<style> 
body { width:550px; } 
</style> 

<script> 
var req = new XMLHttpRequest(); 
req.open("GET", "links.xml"); 
req.onload = showLinks; 
req.send(null); 

function showLinks() { 
    var links = req.responseXML.getElementsByTagName("link"); 
    var p, a, h, t; 

    for (var i = 0, link; link = links[i]; i++) { 
    p = document.createElement("p"); 
    a = document.createElement("a"); 
    h = link.getAttribute("http"); 
    t = link.getAttribute("title"); 
    p.appendChild(document.createTextNode((i+1) + ') ')); 
    a.href = h; 
    a.onclick = function() { chrome.tabs.create({ url: h }); } 
    a.appendChild(document.createTextNode(t)); 
    p.appendChild(a); 
    document.body.appendChild(p); 
    } 
} 
</script> 
+0

如果在你的代碼中的任何其他錯誤不知道,但看起來你需要使用閉包,查看這個鏈接:http://www.mennovanslooten.nl/blog/post/62 – spacevillain 2011-05-20 19:00:24

+0

謝謝,這正是我需要的!我不確定如何將其標記爲已回答,因此我只是放棄它。 – 2011-05-21 02:31:25

回答