Manche geben Links auf die letzten Artikeln, bei den anderen sieht man Verlinkungen auf meist kommentierte Posts.
Und ich hatte an die zufällige Posts gedacht und, dass es vielleicht gar keine schlechte Idee wäre, dem Schicksal die Arbeit zu überlassen, meinen Besuchern den Inhalt zu zeigen.
Ich habe ein kleines Skript geschrieben, das mehrere zufällige Links eines Blogs @ Blogger.com erstellt und diese als eine Liste darstellt.
Installation
1. Schritt. Funktionen.
Bemerkung zu Einstellungen:
var blog_url = 'http://D_E_I_N__B_L_O_G.blogger.com'
var randomCnt = gewuenschte_Anzahl_der_Links.
var donate = true Falls Ihr mich danken wollt. Es erscheint am der Liste Link auf meine Seite
var donate = false Falls Ihr doch irgendwie anders mich danken wollt
Fügt am besten den folgenden Code vor dem </head>-Tag hinzu.
<script type='text/javascript'> //<![CDATA[ // declare some variables var blog_url = 'http://YOUR_BLOG_NAME.blogger.com'; // blog main url -> don't forget write your blog url var randomCnt = 5; // number of random links var donate = true; // if you want to say thank you, let this variable be true // tests, if an element exists in given array function in_array(test_arr, test_number) { // create from array a string separated by # test_arr_str = test_arr.join('#'); test_arr_str = '#' + test_arr_str + '#'; // create search item to search in converted string test_number_str = '#' + test_number + '#'; // look for search item in converted string test = test_arr_str.indexOf(test_number_str); return test; } // show donate url function showDonatePost() { // url of donate post url = 'http://ametov.net'; // get title of a post title = 'Ametov.net'; titleData = document.createTextNode(title); tag_a = document.createElement('a'); tag_a.href = url; tag_li = document.createElement('li'); tag_li.id = 'donate_widget_random_posts'; tag_a.appendChild(titleData); tag_li.appendChild(tag_a); document.getElementById('widget_random_posts').appendChild(tag_li); } // make a post visible - show post url and title function showPost(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') { // get url of a post url = entry.link[j].href; // get title of a post title = entry.link[j].title; // if there is no title replace it with url if (title == '') title = url; titleData = document.createTextNode(title); tag_a = document.createElement('a'); tag_a.href = url; tag_li = document.createElement('li'); tag_a.appendChild(titleData); tag_li.appendChild(tag_a); if (donate) { document.getElementById('widget_random_posts').insertBefore(tag_li, document.getElementById('donate_widget_random_posts')); } else { document.getElementById('widget_random_posts').appendChild(tag_li); } } } } // get info as json string for given post function getPost(postNumber) { script = document.createElement('script'); script.src = blog_url + '/feeds/posts/summary?start-index='+postNumber+'&max-results=1&alt=json-in-script&callback=showPost'; script.type = 'text/javascript'; document.getElementsByTagName('head')[0].appendChild(script); } // get random posts for given blog function getRandomPosts(root) { var feed = root.feed; var total = parseInt(feed.openSearch$totalResults.$t,10); var randomNumber, test; var random_numbers = new Array(randomCnt); if (donate) showDonatePost(); for (var i=0; i<randomCnt; i++) { randomNumber = -1; test = -1; // this cicle is to avoid of post repeats do { randomNumber = Math.ceil(Math.random()*total); test = in_array(random_numbers, randomNumber); } while(test != -1) random_numbers[i] = randomNumber; getPost(randomNumber); } } // the main function, which get first number of posts and from which // would be called all other functions above function showRandomPosts() { var script = document.createElement('script'); script.type = 'text/javascript'; script.src = blog_url + '/feeds/posts/summary?max-results=0&alt=json-in-script&callback=getRandomPosts'; document.getElementsByTagName('head')[0].appendChild(script); } //]]> </script> |
2.Schritt. Anzeige der Links auf zufällige Artikeln.
Dieser Code zeigt die Liste mit zufälligen Artikeln. Fügt diesen dorthin hinzu, wo Ihr die Link-Liste sehen möchtet.
<script type='text/javascript'> // main function call showRandomPosts(); </script> <ul id='widget_random_posts'> </ul> |
P.s.
Die Hilfe beim Blogger.com hat nicht wirklich geholfen, dafür aber ein Beispiel aus dem Netz, das ich etwas angepasst hatte.
Testen Sie jetzt die Süddeutsche Zeitung 2 Wochen kostenlos und unverbindlich!
1 Kommentar:
Hi,
kennst du eine möglichkeit die 5 meist kommentierten Postings auf blogger anzeigen zu lassen?!
Ich benutze allerdings keine Layout vorlage, sondern eine eigene, mir bleiben daher die blogger widgets verwährt.
Hast du da eine Idee?!
Meld dich mal: info@blogschrift.biz
Danke!
Kommentar veröffentlichen