#javascript #google-chrome #tabs
#javascript #google-chrome #вкладки
Вопрос:
Я хочу иметь список ссылок, каждая из которых открывает другое видео Youtube, которое было предопределено в links.xml . Этот файл работает отлично, и все ссылки генерируются, но всякий раз, когда я нажимаю на любую из них, открывается новая вкладка с 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>
Комментарии:
1. Не уверен, есть ли какие-либо другие ошибки в вашем коде, но, похоже, вам нужно использовать замыкания, проверьте эту ссылку: mennovanslooten.nl/blog/post/62
2. Спасибо, это именно то, что мне было нужно! Я не уверен, как пометить это как ответ, поэтому я просто оставлю это.
Ответ №1:
Spacevillain был правильным:
кажется, вам нужно использовать замыкания, проверьте эту ссылку:http://www.mennovanslooten.nl/blog/post/62