Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Обсуждение форума > как сохранить тему целиком?


Автор: boostcoder 9.1.2011, 14:43
всем привет.
есть тема: http://forum.vingrad.ru/forum/topic-311688.html
как я могу ее сохранить/просмотреть целиком? сохранятся только открытая страница. при клике на другую страницу - загружается с форума.
так же, хотелось бы ее просмотреть в виде одной страницы. такое возможно?

спасибо.

Автор: Любитель 9.1.2011, 20:27
http://forum.vingrad.ru/forum/topic-311688/view-all.html

Только страница огромная будет само собой.

Автор: boostcoder 9.1.2011, 20:29
Любитель, к сожалению, этот способ перестал работать где-то на 23ей странице.

Автор: mimik 9.1.2011, 21:51
напиши скрипт smile 
это все еще форум программистов или нет smile 



если что могу помочь, за $$$

Автор: Любитель 10.1.2011, 01:07
Да, действительно показывает криво. Ну.. правда что ли скрипт написать. Вставляем в адресную строку браузера и ждём:
Цитата

javascript:(function(){var pgSize=15;var pgLinks=$$('#s_pages_1 a[onclick]');var pgHref=pgLinks[pgLinks.length-1].href;var pgMatches=pgHref.match(/\/topic-([0-9]*)\/([0-9]*)\.html$/);var topicId=pgMatches[1];var lastPostNum=parseInt(pgMatches[2]);var urlBase='http://forum.vingrad.ru/index.php?show_type=forum&ajax=1&JsHttpRequest=1-xml&act=ST&t='+topicId+'&st=';var html='';var pgNum=1;var pages=$('s_pages_1');function load(postNum){if(postNum>lastPostNum){$('p_all').update(html);pages.update('Ready');return;}pages.update('Loading page #'+pgNum++);new Ajax.Request(urlBase+postNum,{onSuccess:function(resp){var jsonResp=window.eval('('+resp.responseText+')');html+=jsonResp.js.q_posts;load(postNum+pgSize);}});}load(0);})();


На вставке контента подвсиает на некоторое время, но ничего. В распакованном виде:
Код

(function() {
    var pgSize = 15;

    var pgLinks = $$('#s_pages_1 a[onclick]');
    var pgHref = pgLinks[pgLinks.length - 1].href;
    var pgMatches = pgHref.match(/\/topic-([0-9]*)\/([0-9]*)\.html$/);
    
    var topicId = pgMatches[1];
    var lastPostNum = parseInt(pgMatches[2]);
    
    var urlBase = 'http://forum.vingrad.ru/index.php?show_type=forum&ajax=1&JsHttpRequest=1-xml&act=ST&t=' + topicId + '&st=';
    
    var html = '';
    var pgNum = 1;
    
    var pages = $('s_pages_1');
    
    function load(postNum) {
        if (postNum > lastPostNum) {
            $('p_all').update(html);
            pages.update('Ready');
            return;
        }
        
        pages.update('Loading page #' + pgNum++);
        
        new Ajax.Request(urlBase + postNum, {
            onSuccess: function(resp) {
                var jsonResp = window.eval('(' + resp.responseText + ')');
                html += jsonResp.js.q_posts;
                load(postNum + pgSize);
            }
        });
    }
    
    load(0);
})();

 smile 

Автор: boostcoder 10.1.2011, 01:32
Любитель, спасибо огромное smile 
один момент.. вставляю в строку браузера. по счетчику вижу прогресс. когда прогресс достигает 74ой страницы, браузер начинает съедать ядро. так продолжается около 8 секунд. потом контент куда-то исчезает. ядро освобождается. и бесконечно крутится прогресс загрузки страницы. при том, никакой сетевой активности smile 

если на это нужно немало времени - бросьте. по частям склею.

Добавлено через 56 секунд
зы
firefox

Автор: Любитель 10.1.2011, 03:28
Хм.. Странно. То, что проц жрёт - это "нормально". То, что всё исчезает - странно, похоже, что у тебя там какие-т скрипты кривые попались что ли. Мож у меня адблок что порезал - сейчас запустил, всё в итоге отработало и даж сохранилась страничка (если задача только в этой теме - могу выслать/выложить где-нить, пожалуй).

Пошёл проверять с вырубленным адблоком..

Добавлено через 9 минут и 57 секунд
Ну, если кратко - виноваты рекламные скрипты (как повезёт). Простой воркэраунд:

Цитата

javascript:(function(){var pgSize=15;var pgLinks=$$('#s_pages_1 a[onclick]');var pgHref=pgLinks[pgLinks.length-1].href;var pgMatches=pgHref.match(/\/topic-([0-9]*)\/([0-9]*)\.html$/);var topicId=pgMatches[1];var lastPostNum=parseInt(pgMatches[2]);var urlBase='http://forum.vingrad.ru/index.php?show_type=forum&ajax=1&JsHttpRequest=1-xml&act=ST&t='+topicId+'&st=';var html='';var pgNum=1;var pages=$('s_pages_1');function load(postNum){if(postNum>lastPostNum){$('p_all').innerHTML=html;pages.update('Ready');return;}pages.update('Loading page #'+pgNum++);new Ajax.Request(urlBase+postNum,{onSuccess:function(resp){var jsonResp=window.eval('('+resp.responseText+')');html+=jsonResp.js.q_posts;load(postNum+pgSize);}});}load(0);})();


Здесь просто не выполняются скрипты вообще для вставляемого контента. Как побочный эффект - код будет без подсветки. Можно разбираться детальнее, но, если честно, уже не хочется smile

Автор: Alexeis 10.1.2011, 11:13
boostcoder, для сохранения сайтов я в свое время пользовался программой Teleport Pro . Она переделывает все ссылки на скаченные страницы, так же можно выбирать чего выкачивать и глубину рекурсии.

Автор: boostcoder 10.1.2011, 12:07
Любитель, второй вариант работает smile . еще раз спасибо.

Цитата(Alexeis @  10.1.2011,  11:13 Найти цитируемый пост)
Teleport Pro

не знал о такой.
спасибо.

Автор: diadiavova 10.1.2011, 14:23
Цитата(Alexeis @  10.1.2011,  11:13 Найти цитируемый пост)
 Teleport Pro

Таких программ очень много, обобщенное их название - "оффлайновые браузеры". А телепортпро по-моему платный(раньше был по крайней мере).

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)