Bantuan Pencarian :   
AJAX RSS Reader PDF Cetak E-mail
(8 votes)
Ditulis Oleh oscorp   
Saturday, 31 January 2009

RSS Reader yang digunakan untuk membaca RSS feed. RSS memungkinkan kita membaca berita update tanpa browsing terlebih dahulu.

HTML FORM

Ini adalah halaman HTML. Berisi formulir sederhana HTML dan link ke JavaScript:

 

<html>
<head>
<script type="text/javascript" src="getrss.js"></script>
</head>
<body>
<form> 
Select an RSS-Feed:
<select onchange="showRSS(this.value)">
<option value="Google">Google News</option>
<option value="MSNBC">MSNBC News</option>
</select>
</form>
<p><div id="rssOutput">
<b>RSS Feed will be listed here.</b></div></p>
</body>
</html>
<span>Penjelasan Contoh - HTML Form</span>

Seperti yang dapat Anda lihat, HTML di atas berisi halaman HTML yang sederhana dengan bentuk drop-down box. Bentuk pekerjaan seperti ini:

  1. Sebuah event yang dipicu ketika user memilih satu pilihan pada drop down box
  2. Ketika acara ini dipicu, salah satu fungsi yang disebut showRSS () akan dijalankan.
  3. Di bawah ini adalah bentuk <div> disebut "rssOutput". Ini digunakan sebagai tempat untuk menghasilkan data yang showRSS () function.

JAVASCRIPT

Kode JavaScript akan disimpan di "getrss.js" dan link ke dokumen HTML:

var xmlHttp
function showRSS(str)
 { 
 xmlHttp=GetXmlHttpObject()
 if (xmlHttp==null)
  {
  alert ("Browser does not support HTTP Request")
  return
  }
 var url="getrss.php"
 url=url+"?q="+str
 url=url+"&sid="+Math.random()
 xmlHttp.onreadystatechange=stateChanged 
 xmlHttp.open("GET",url,true)
 xmlHttp.send(null)
 }
 
function stateChanged() 
 { 
 if (xmlHttp.readyState==4 || xmlHttp.readyState=="complete")
  { 
  document.getElementById("rssOutput")
  .innerHTML=xmlHttp.responseText 
  } 
 }
function GetXmlHttpObject()
{
var xmlHttp=null;
try
 {
 // Firefox, Opera 8.0+, Safari
 xmlHttp=new XMLHttpRequest();
 }
catch (e)
 {
 // Internet Explorer
 try
  {
  xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
  }
 catch (e)
  {
  xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
 }
return xmlHttp; }

Penjelasan contoh

stateChanged () dan GetXmlHttpObject fungsi yang sama seperti di  PHP AJAX Suggest

Function showRSS ()

Setiap kali salah satu pilihan dipilih dalam bidang masukan ini melaksanakan fungsi sebagai berikut:

  1. Tetapkan url (filename) untuk mengirim ke server
  2. Menambahkan parameter (q) untuk url dengan pilihan yang dipilih dari kotak drop-down
  3. Menambahkan nomor acak untuk mencegah dari server menggunakan cache file
  4. Panggil pada GetXmlHttpObject fungsi untuk membuat sebuah obyek XMLHTTP, dan memberitahu objek untuk menjalankan fungsi bernama stateChanged ketika perubahan yang dipicu
  5. Membuka objek XMLHTTP dengan url yang diberikan.
  6. HTTP yang mengirimkan permintaan ke server

Halaman dengan PHP

Server halaman dipanggil oleh kode JavaScript PHP adalah file bernama "getrss.php":

<?php
//get the q parameter from URL
$q=$_GET["q"];
//find out which feed was selected
if($q=="Google")
 {
 $xml=("http://news.google.com/news?ned=us&topic=h&output=rss");
 }
elseif($q=="MSNBC")
 {
 $xml=("http://rss.msnbc.msn.com/id/3032091/device/rss/rss.xml");
 }
$xmlDoc = new DOMDocument();
$xmlDoc->load($xml);
//get elements from "<channel>"
$channel=$xmlDoc->getElementsByTagName('channel')->item(0);
$channel_title = $channel->getElementsByTagName('title')
->item(0)->childNodes->item(0)->nodeValue;
$channel_link = $channel->getElementsByTagName('link')
->item(0)->childNodes->item(0)->nodeValue;
$channel_desc = $channel->getElementsByTagName('description')
->item(0)->childNodes->item(0)->nodeValue;
//output elements from "<channel>"
echo("<p><a href='" . $channel_link
 . "'>" . $channel_title . "</a>");
echo("<br />");
echo($channel_desc . "</p>");
//get and output "<item>" elements
$x=$xmlDoc->getElementsByTagName('item');
for ($i=0; $i<=2; $i++)
 {
 $item_title=$x->item($i)->getElementsByTagName('title')
 ->item(0)->childNodes->item(0)->nodeValue;
 $item_link=$x->item($i)->getElementsByTagName('link')
 ->item(0)->childNodes->item(0)->nodeValue;
 $item_desc=$x->item($i)->getElementsByTagName('description')
 ->item(0)->childNodes->item(0)->nodeValue;
 echo ("<p><a href='" . $item_link
 . "'>" . $item_title . "</a>");
 echo ("<br />");
 echo ($item_desc . "</p>");
 }
?>

 Penjelasan Halaman PHP

Ketika sebuah pilihan akan dikirim dari JavaScript berikut terjadi:

  1. Mencari-cari tahu PHP RSS feed yang telah dipilih
  2. XML Dom dibuat objek yang dipilih RSS feed
  3. Unsur-unsur dari RSS saluran ditemukan dan outputted
  4. Tiga elemen pertama dari item RSS looped melalui dan outputted

 

» 2 Comments
2"Terimaksih komentar nya" by oscorp at Sunday, 01 March 2009 19:17
terima kasih banyak buat mas rifai...atas komentar2 nya
1"Pas banget.." by Rifai at Monday, 16 February 2009 00:39
Pas banget ama kebutuhan saya..hehehhee, thx for post bro !
» Post Comment
Email (will not be published)
Name
Title
Comment
Pemutakhiran Terakhir ( Saturday, 31 January 2009 )
 
< Sebelumnya   Berikutnya >

Donate Via Paypal

Enter Amount:

Online

Saat ini ada 14 tamu online
mod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_countermod_vvisit_counter
mod_vvisit_counterToday120
mod_vvisit_counterYesterday230
mod_vvisit_counterThis week705
mod_vvisit_counterThis month1961
mod_vvisit_counterAll110693

Page Rank


PageRank
Add to Google
Computer Blogs - BlogCatalog Blog Directory