Blogger サイトのガジェットを作成しています。JavaScriptを使用して、サイトのフィード(Atom)に特定のタグが付いた最初の4つの投稿から、タイトル、リンク、および最初の画像を取得したいと考えています。これまでのところ、これらの投稿からタイトルとリンクが届き、ガジェットに HTML で表示されています。コードは次のとおりです。
<?xml version="1.0" encoding="UTF-8" ?>
<Module>
<ModulePrefs title="Retrieve Featured Blog Posts" height="150" author="John Behan" />
<Content type="html">
<![CDATA[
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("feeds", "1");
</script>
<script type="text/javascript">
function initialize() {
var feed = new google.feeds.Feed("http://test-ohomind.blogspot.com/feeds/posts/default/-/featured");
feed.load(function(result) {
if (!result.error) {
var container = document.getElementById("feed");
for (var i = 0; i < result.feed.entries.length; i++) {
var entry = result.feed.entries[i];
var myElement = document.createElement('div');
var content = entry.content;
myElement.innerHtml = content;
var imagesrc = myElement.getElementsByTagName("img")[0].src;
var mydiv = document.getElementById("mydiv");
var newcontent = document.createElement('p');
newcontent.innerHTML = '<a href="' + entry.link + '">' + entry.title + '</a><br />' + imagesrc;
while (newcontent.firstChild) {
mydiv.appendChild(newcontent.firstChild);
}
}
}
});
}
window.onload = initialize();
</script>
<body>
<div id="mydiv">
</div>
</body>
]]>
</Content>
</Module>
上記のコードは空白のガジェットを提供し、Firebug は次のことを報告します。
myElement.getElementsByTagName("img")[0] は未定義です
私はそれを少し変えてみました:
var imagesrc = myElement.getElementsByTagName("img");
ガジェットでこれを与える
[オブジェクト NodeList]
誰かが私が間違っていることを教えてもらえますか? 最初の画像のソース (src) を取得するだけです。私ができるガジェットの残りの部分ですが、この小さな問題の部分に、この段階で完全に不満を感じています.
前もって感謝します。