Model pertama, di mana menyediakan daftar acak beserta judul postingnya. Jumlah posting ditentukan oleh variabel numofpost. Kebetulan pada kode di bawah bernilaikan 5. Model ini paling efektif menurut saya dalam hal SEO. Perlu dicatat, terlalu banyak menampilkan jumlah posting berpengaruh pada kecepatan akses web.
<script type="text/javascript"> var randarray = new Array(); var l=0; var flag; var numofpost=5; function randomposts(json){ var total = parseInt(json.feed.openSearch$totalResults.$t,10); for(i=0;i < numofpost;) { flag=0; randarray.length=numofpost; l=Math.floor(Math.random()*total); for(j in randarray){ if(l==randarray[j]){ flag=1; } } if(flag==0&&l!=0){ randarray[i++]=l; } } document.write('<ul>'); for(n in randarray){ var p=randarray[n]; var entry=json.feed.entry[p-1]; for(k=0; k < entry.link.length; k++){ if(entry.link[k].rel=='alternate'){ var item = "<li>" + "<a href=" + entry.link[k].href + ">" + entry.title.$t + "</a> </li>"; document.write(item); } } } document.write('</ul>');} </script> <script src="/feeds/posts/default?alt=json-in-script&start-index=1&max-results=1000&callback=randomposts" type="text/javascript"> </script>
Model kedua, berisikan efek kejutan :D bagi yang membukanya, hanya berisi satu link. Tidak begitu bagus untuk SEO.
<div id="myLuckyPost"> </div> <script type="text/javascript"> function showLucky(root){ var feed = root.feed; var entries = feed.entry || []; var entry = feed.entry[0]; for (var j = 0; j < entry.link.length; ++j){ if (entry.link[j].rel == 'alternate'){ window.location = entry.link[j].href; } } } function fetchLuck(luck){ script = document.createElement('script'); script.src = '/feeds/posts/summary?start-index='+luck+'&max-results=1&alt=json-in-script&callback=showLucky'; script.type = 'text/javascript'; document.getElementsByTagName('head')[0].appendChild(script); } function feelingLucky(root){ var feed = root.feed; var total = parseInt(feed.openSearch$totalResults.$t,10); var luckyNumber = Math.floor(Math.random()*total); luckyNumber++; a = document.createElement('a'); a.href = '#random'; a.rel = luckyNumber; a.onclick = function(){fetchLuck(this.rel);}; a.innerHTML = 'I am Feeling Lucky'; document.getElementById('myLuckyPost').appendChild(a); } </script> <script src="/feeds/posts/summary?max-results=0&alt=json-in-script&callback=feelingLucky"></script>
RSS nya ngambil dari mana pak?
ReplyDeleteYang di atas itu pakai JSON, gak pakai RSS, RSS itu terlalu lambat. Kapan-kapan dibahas XML (RSS) vs JSON.
ReplyDeleteDia memanggil ke dirinya sendiri.