jQuery TemplateでRSSを表示する


RSSを表示するには、PHPだと、simplexml_load_fileなどの関数で、サーバサイドで表示することができます。(具体的には、PHP allow_url_fopen - ミショニポーを見てください)



サーバサイドで処理した場合、ユーザがアクセスした時に、RSSが受け取れなくて表示までに、時間がとてもかかり、実用にならないという事があります




jquery template で、しばらく忘れていた、データバインディングという言葉に、再び出会いました
ブラウザ依存性から脱出した、データバインディングの姿を見てみたくて、動かす事にしました





このブログのRSSを表示します




正しいかどうか、◎×△■、uuuuuum 備忘

<!DOCTYPE html>
<html>
<head>
  <script src="http://code.jquery.com/jquery-latest.min.js"></script>
  <script src="http://nje.github.com/jquery-tmpl/jquery.tmpl.js"></script>
</head>
<body>
  
<script id="movieTemplate" type="text/x-jquery-tmpl"> 
    <li><strong><a href="${link}">${title}</a></strong></li>
	<li><p style="font-size:small;color:green;margin-left:2em;">${description}</p></li>
</script>

<ul id="movieList" style="list-style:none"></ul>

<script>
<?php
	$url = "http://d.hatena.ne.jp/tenman/rss";
	
	if($url != '' && strpos($url, 'http') === 0){
		$xml =  simplexml_load_file($url);
		echo "var movies = [";
		for($i = 0; $i<5;$i++){
		echo json_encode($xml->item[$i]).',';
		}
		echo '];';
	}
?>

/* Render the template with the movies data and insert
   the rendered HTML under the "movieList" element */
$( "#movieTemplate" ).tmpl( movies ).appendTo( "#movieList" );
</script>
</body>
</html>