某サイトにあるfeedを書き出すスクリプトをシンプルにしようと、
スクリプトだけ別ファイルに書き出してみたのですが、
思うように動いてくれません。
<script src='//ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js'></script> <script> $.ajax({ url: 'http://example.com/feed', type: 'get', dataType: 'xml', timeout: 5000, success: function(xml, status) { if (status === 'success') { var row = 0; var data = []; var nodeName; $(xml).find('item').each(function() { data[row] = {}; $(this).children().each(function() { // 子要素を取得 nodeName = $(this)[0].nodeName; // 要素名 data[row][nodeName] = {}; // 初期化 attributes = $(this)[0].attributes; // 属性を取得 for (var i in attributes) { data[row][nodeName][attributes[i].name] = attributes[i].value; // 属性名 = 値 } data[row][nodeName]['text'] = $(this).text(); }); row++; }); $('#rss').wrapInner('<ul></ul>'); for (i in data) { $('#rss').find('ul').append('<li><a href="' + data[i].link.text + '">' + data[i].title.text + '</a></li>'); } } } });
上記は直接HTMLに記述すると問題なく表示されますが、
下記のように別ファイルに書き出すと動かなくなります。
<script src='//ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js'></script> <script src="components/rss.js"></script>
「components/rss.js」の記述はこうです。
$.ajax({ url: 'http://example.com/feed', type: 'get', dataType: 'xml', timeout: 5000, success: function(xml, status) { if (status === 'success') { var row = 0; var data = []; var nodeName; $(xml).find('item').each(function() { data[row] = {}; $(this).children().each(function() { // 子要素を取得 nodeName = $(this)[0].nodeName; // 要素名 data[row][nodeName] = {}; // 初期化 attributes = $(this)[0].attributes; // 属性を取得 for (var i in attributes) { data[row][nodeName][attributes[i].name] = attributes[i].value; // 属性名 = 値 } data[row][nodeName]['text'] = $(this).text(); }); row++; }); $('#rss').wrapInner('<ul></ul>'); for (i in data) { $('#rss').find('ul').append('<li><a href="' + data[i].link.text + '">' + data[i].title.text + '</a></li>'); } } } });
不具合の対処法を教えてください。
あとですね、
上記方法ではfeedのtextは書き出してくれますが、
ブログ記事内の画像を抽出することは可能でしょうか?
可能であれば記述法を教えてください。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/01/16 02:31 編集
2017/01/16 03:32
2017/01/18 02:04
2017/01/18 02:19
2017/01/18 07:49 編集
2017/01/18 07:50