
Вернёмся к нашей теме. В данном случае посты будут отображаться рандомно, в случайном порядке при каждой перезагрузке страницы. Так что вероятность того, что посетители обратят внимание на разные посты блога, немного выше, чем у того же гаджета самых читаемых сообщений. Рабочий вариант посмотрите в сайдбаре
Код устанавливается обычным способом, через гаджет HTML/JavaScript. Можете подредактировать стили CSS, чтобы подогнать под свой дизайн.
<style>#BD_random_title td {
list-style-type: none;
width: 100%;
padding: 3px;
}
#BD_random_title a {
font: 12px Verdana, Arial, Helvetica, sans-serif;
color:#696969 ;
line-height:14px;
letter-spacing:0.1em;
text-decoration: none;
display:block;
padding:2px 6px 5px 12px;
background: url("http://4.bp.blogspot.com/-Bt0JYGRHfpk/T7ZpN5RNSQI/AAAAAAAAGJQ/zQtrWVZwgHA/s1600/bullet.png ") 0px 50% no-repeat;
background-color: #FFFFFF;
}
#BD_random_title a:hover {
background: #ffffff url() 0px 50% no-repeat;
color:#990000;
text-transform: none;
background-color: #F5F5F5 ;
}
.BD_random_list {
font: 10px Verdana, Arial, Helvetica, sans-serif;
color: #000;
line-height:10px;
letter-spacing:0.1em;
text-decoration: none;
}</style>
<div id="BD_random_title">
<div class="BD_random_list">
<script type="text/javascript">
var randarray = new Array();var l=0;var flag;
var numofpost=7;// количество отображаемых постов
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();
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 ="<div style='border-bottom: dotted #ccc 1px;'>" + "<a href=" + entry.link[k].href + " title=" + entry.link[k].href +">" + entry.title.$t + "</a></div>";
document.write(item);}}
}document.write();}
</script>
<script src="/feeds/posts/default?alt=json-in-script&start-index=1&max-results=1000&callback=randomposts" type="text/javascript"></script> </div></div>
list-style-type: none;
width: 100%;
padding: 3px;
}
#BD_random_title a {
font: 12px Verdana, Arial, Helvetica, sans-serif;
color:#696969 ;
line-height:14px;
letter-spacing:0.1em;
text-decoration: none;
display:block;
padding:2px 6px 5px 12px;
background: url("http://4.bp.blogspot.com/-Bt0JYGRHfpk/T7ZpN5RNSQI/AAAAAAAAGJQ/zQtrWVZwgHA/s1600/bullet.png ") 0px 50% no-repeat;
background-color: #FFFFFF;
}
#BD_random_title a:hover {
background: #ffffff url() 0px 50% no-repeat;
color:#990000;
text-transform: none;
background-color: #F5F5F5 ;
}
.BD_random_list {
font: 10px Verdana, Arial, Helvetica, sans-serif;
color: #000;
line-height:10px;
letter-spacing:0.1em;
text-decoration: none;
}</style>
<div id="BD_random_title">
<div class="BD_random_list">
<script type="text/javascript">
var randarray = new Array();var l=0;var flag;
var numofpost=7;// количество отображаемых постов
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();
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 ="<div style='border-bottom: dotted #ccc 1px;'>" + "<a href=" + entry.link[k].href + " title=" + entry.link[k].href +">" + entry.title.$t + "</a></div>";
document.write(item);}}
}document.write();}
</script>
<script src="/feeds/posts/default?alt=json-in-script&start-index=1&max-results=1000&callback=randomposts" type="text/javascript"></script> </div></div>
Вот, вроде и все дела. Поменяйте в коде цифру 7 на желаемое количество отображаемых сообщений. Попробуйте сейчас посмотреть блог и перезагрузить страницу. Обратите внимание, что список случайных постов меняется.
На сегодня у меня всё. Удачи всем и до скорых встреч. Спасибо, что читаете мои шпаргалки.
здесь можно оформить подписку на новые шпаргалки
Виктория! Это гаджет - внутренние ссылки? А если внутренних ссылок много это не страшно?
ОтветитьУдалитьЭто тоже ссылки, но на ваши сообщения. Внутренние ссылки не страшно. Но только в одном сообщении желательно ставить 2-4 ссылки на другие посты. Чтобы не переспамить.
УдалитьМне и популярные сообщения хочется и этот гаджет нравится. Но я у себя уже много убрала. Хочется попробовать поставить! Ведь всегда можно удалить!
ОтветитьУдалитьОй! Как мне нравится Случайный Пост! Виктория, посмотрите на Блоге Кота Васьки! Я немножко подумаю и, наверное, и на Волшебном фонарике поставлю. Я в Вашем коде изменила цвет букв и их высоту! Как бы сделать, чтобы пожирнее было.
ОтветитьУдалитьДа, Ирина. Посмотрела у Васьки. Вообще с гаджетами поменьше бы. Всё несёт определённую нагрузку. Попробуйте пока один там определитесь.
УдалитьПожирнее так - уберите в стилях эту строку font: 12px Verdana, Arial, Helvetica, sans-serif; ;
И замените на
font-style: italic;
font-weight: bolder;
font-size: 14px;
вообще про семейства шрифтов почитайте здесь http://www.webremeslo.ru/css/glava3.html
хэ.. еще бы таймер к ней прикрутить
ОтветитьУдалитьк этой кнопочке http://www.shpargalochki.ru/2014/04/knopka-sluchajnyj-post.html
ОтветитьУдалитьА зачем таймер. После каждого обновления страницы она выводит другой пост.
Удалитьне думал что так быстро ответите .. хотел сделать автопереход на случайную когда юзер блочит блок рекламы .. как бы в дополнение к просилке отключить антирекламу
Удалитьв идеале нужно в код определителя блокировки или не блокировки рекламы в случае блокирования вывод сообщения отключить антерекламу и таймер с автопереходом на случайную как условное ограничение просмотра страницы
УдалитьВ общем в код определителя таймер зарядил а со случайной ссылкой блогера пока непонятки: вместо этого location.replace("https://www.google.com"); нужен переход на случайную ..
УдалитьСергей, суть я поняла. Только вот тут не совсем. У Вас что кнопка случайный пост не перекидывает на другой. Или что.
ОтветитьУдалитькнопка рабочая сама по себе, но мне нужно чтобы переход совершался автоматически по таймеру в случае блокирования юзером рекламного блока ... уже реализовано: определение блокировки, таймер с переходом на главную а нужно на случайную .. тоесть эту http://www.shpargalochki.ru/2016/12/random-post.html нужно как-то воткнуть в location.replace("http://www.shpargalochki.ru");
ОтветитьУдалитьПоняла. Не знаю как это можно реализовать.
Удалитьнаверное нужно как-то преобразовать результат ф-ции feelingLucky() в string и зарядить как результат переменной ...
УдалитьСергей, не знаю что сказать. Не заморачивалась с этим.
ОтветитьУдалить