【问题标题】:Google Chrome extension: for loop to assign chrome.tabs.create functionsGoogle Chrome 扩展:for 循环分配 chrome.tabs.create 函数
【发布时间】:2011-05-20 18:32:30
【问题描述】:

我想要一个链接列表,每个链接打开一个不同的 Youtube 视频,该视频已在 links.xml 中预定义。该文件完美运行,所有链接都生成了,但每当我点击其中的 any 时,它会打开一个新选项卡,其中包含列表中 last 链接的 URL。我做错了什么?

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

【问题讨论】:

  • 不确定您的代码是否还有其他错误,但似乎您需要使用闭包,请查看此链接:mennovanslooten.nl/blog/post/62
  • 谢谢,这正是我所需要的!我不确定如何将其标记为已回答,所以我就留下它。

标签: javascript google-chrome tabs


【解决方案1】:

太空恶棍是正确的:

看来你需要使用 关闭,请查看此链接: http://www.mennovanslooten.nl/blog/post/62

【讨论】:

    猜你喜欢
    • 2011-11-18
    • 2019-02-26
    • 2017-11-29
    • 2018-05-25
    • 2012-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多