Google Chrome扩展程序:for循环指定chrome.tabs.create函数

时间:2011-05-20 18:32:31

标签: javascript google-chrome tabs

我想要一个链接列表,每个链接都打开一个在links.xml中预定义的不同Youtube视频。此文件运行正常,并且生成了所有链接,但每当我点击任何时,它都会打开一个新标签,其中包含列表中最后链接的网址。我做错了什么?

<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>

1 个答案:

答案 0 :(得分:1)

Spacevillain是正确的:

  似乎你需要使用   关闭,检查此链接:   http://www.mennovanslooten.nl/blog/post/62