[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Выборка страниц по ярлыкам (blogger)
SnowWind
Привет ребята.
Сегодня решил "поковырять" свой старый блог на блогспоте и как известно навигация там осуществляется по ярлыкам, которые не индексируются поисковиками.
Так вот наткнулся на способ выводить страницы с помощью feed канала, но никак не соображу как сделать выборку по названию ярлыка, вот что я пытаюсь:


<script>
function navi(json) {

for (var i = 0; i < numposts; i++) {
if (json.feed.entry[i]term == 'Windows')
{
var entry = json.feed.entry[i];
}
var posttitle = entry.title.$t;
var posturl;
if (i == json.feed.entry.length) break;
for (var k = 0; k < entry.link.length; k++) {
if (entry.link[k].rel == 'alternate') {
posturl = entry.link[k].href;
break;
}
}


//выводд ссылок нак экран
document.write('<br>');
document.write('Запись #' + i + '<br>');
document.write('<a href="'+ posturl + '">' + posttitle + '</a>' + '<br>');
}
}

</script>

Статьи ярлыка Окна

<script>
var numposts=1001;
var numchars=200;
</
script>
<
script src="http://poremontu.blogspot.com/feeds/posts/default?alt=json-in-script&max-results =570&callback=navi&">
</
script>



Вроде бы всё верно, но не выводит на экран ссылки на мои страницы, перейдя по ссылке на фид канал, вы можете видеть что и из чего я пытаюсь отобрать



Спустя 2 часа, 56 минут, 6 секунд (2.02.2012 - 16:14) SnowWind написал(а):
Что ж, давайте упростим немного задачу
Вот так выводятся статьи по определённому номеру

<script>
function navi(json) {

for (var i = 0; i < numposts; i++) {

if (i == "7")
{
var entry = json.feed.entry[i];
var posttitle = entry.title.$t;



//выводд ссылок нак экран
document.write('<br>');
document.write('Запись #' + i + '<br>');
document.write('' + posttitle + '<br>');
}
}

}

</script>


Статьи ярлыка Окна

<script>
var numposts=1001;
var numchars=200;
</
script>
<
script src="http://poremontu.blogspot.com/feeds/posts/default?alt=json-in-script&max-results =570&callback=navi&">
</
script>


но как вывести по "term" (см. по ссылке) не понимаю :huh:

Спустя 2 дня, 3 часа, 9 минут, 13 секунд (4.02.2012 - 19:23) SnowWind написал(а):
Что ж понятно что никому лишний раз не охота возиться, но проблема остаётся, хотя немного упрощёной.
Теперь проблема с циклом, как то он странно работает, срабатывая только 1 раз, и когда доходит до условия 2ой раз - останавливается



<script>
function navi(json) {

for (var i = 0; i < numposts; i++) {
var entry = json.feed.entry[i];

if (entry.category[i].term == "7")
{
var posttitle = entry.title.$t;
document.write('<br>TITLE ' + i + '<br>');
document.write('<br>TITLE ' + posttitle + '<br>');
break;
}



//выводд ссылок нак экран
document.write('<br>');
document.write('Запись #' + i + '<br>');
document.write('' + posttitle + '<br>');
}


}

</script>


Статьи ярлыка Окна

<script>
var numposts=201;
var numchars=200;
</
script>
<
script src="http://poremontu.blogspot.com/feeds/posts/default?alt=json-in-script&max-results =1001&callback=navi&">
</
script>


:huh:

Спустя 1 час, 31 минута, 31 секунда (4.02.2012 - 20:54) Oyeme написал(а):
function navi(json) {
for (var i = 0; i < numposts; i++) {
var entry = json.feed.entry[i];
if (entry.category[0].term == 7){
var posttitle = entry.title.$t;
document.write('<br>TITLE ' + posttitle + '<br>');
}
}
}

В entry.category[0]- у вас тут индекс массива всегда будет равняться 0.
Внимательно просматривайте Вашу структуру.

Чтобы получит ответ,в следующий раз не поленитесь предоставить данные.(json).

"http://poremontu.blogspot.com/feeds/posts/default?alt=json-in-script&max-results   =1001&callback=navi&

Вы пытаетесь по этому ликнку вызвать функцию,которая описаннa в Вашем файле - это кривой подход.Так не делается.

Спустя 8 часов, 4 минуты, 16 секунд (5.02.2012 - 04:59) SnowWind написал(а):
Цитата
Чтобы получит ответ,в следующий раз не поленитесь предоставить данные.(json).

Что за данные? blink.gif

Спустя 2 минуты, 44 секунды (5.02.2012 - 05:01) SnowWind написал(а):
Цитата
В entry.category[0]- у вас тут индекс массива всегда будет равняться 0.

Почему же у меня написано вот так-
for (var i = 0; i < numposts; i++) {
var entry = json.feed.entry[i];

if (entry.category[i].term == "7")

Значит в следующий раз значение должно увеличиться на 1

Спустя 15 часов, 43 минуты, 36 секунд (5.02.2012 - 20:45) Oyeme написал(а):
Что вы говорите. wink.gif
Сами посмотрите внимательно:http://json.parser.online.fr/

Спустя 11 часов, 16 минут, 4 секунды (6.02.2012 - 08:01) SnowWind написал(а):
Решительно вас не понимаю, сделаем так

<script>
function
navi(json) {

var i = 0;
var x = 0;



while (i < 50) {
document.write('<br> Значение i перед entry ' + i + '<br>');
var entry = json.feed.entry[i];

if (i == '7')
{
var posttitle = entry.title.$t;
document.write('<br>!!! TITLE !!! ' + i + '<br>');
document.write('<br>TITLE ' + posttitle + '<br>');

}

i++;
i = x + i;
document.write('Значение i после увеличения на 1 ! ' + i + '<br><br><br>');
}
//выводд ссылок нак экран
document.write('<br>');
document.write('Запись #' + i + '<br>');
document.write('' + posttitle + '<br>');



}
</script>


Статьи ярлыка Окна

<script>
var
numposts=201;
var numchars=200;
</script>
<script
src="http://poremontu.blogspot.com/feeds/posts/default?alt=json-in-script&max-results =1001&callback=navi">
</script>


Т.е в предыдущем варианте "i" не увеличивалась, а тут увеличилась, странно как-то.

Спустя 2 часа, 52 минуты, 39 секунд (6.02.2012 - 10:54) SnowWind написал(а):
я так же не пойму, переменная entry тут что? массив? а как он записывается? как вывести его значения? пишет [object Object]
huh.gif

Спустя 6 часов, 34 минуты (6.02.2012 - 17:28) SnowWind написал(а):
sad.gif
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.