dataFileName [1] = "http://newsrss.bbc.co.uk/rss/newsonline_world_edition/americas/rss.xml";
Если вы (а) не являетесь скриптом, запущенным с BBC, или (б) расширением браузера, вы не можете сделать XMLHttpRequest на этот сервер.
dataString += "<div class='itemTitle'><a href='" + RSS.items[i].link
Внедрение HTML / скрипта. Если вы настаиваете на использовании innerHTML
вместо использования простых методов DOM, вы должны выполнить экранирование HTML, чтобы превратить <&"
в <&"
.
Eval ( "" + это свойство [I] + "= tmpElement.childNodes [0] .nodeValue");
Не используйте eval, за исключением очень редких случаев, когда он вам нужен. Это не один из них; Вы можете получить доступ к свойству JavaScript по имени, используя:
this[properties[i]]= tmpElement.firstChild.data;
Кроме того, и это, вероятно, то, где ненадежность наступает, вы не можете быть уверены, что будет единственный дочерний текстовый узел. Если в этом элементе нет содержимого, firstChild
/ childNodes[0]
не будет существовать, и вы получите исключение. Если в элементе есть сложное содержимое (которого обычно не должно быть, но для RSS 0.9 может быть как незашифрованный HTML), firstChild.nodeValue
не будет содержать текстовое содержимое элемента. Вместо этого вам придется пройтись по потомкам Узла текста, собирая их nodeValue
/ data
.