PaZiTiF Опубликовано 19 августа, 2016 Жалоба Поделиться Опубликовано 19 августа, 2016 Всем доброго времени суток, вот хочу разобраться как работает данная навигация, код взять с kabuljan.af: var nav = { getStaticFiles: function(h){ if(h){ if(h.substr(0, 1) == '/') h = h.substr(1); var h = h.split('/'); h = h[0]; for(var i in navTree) { var m = h.match(new RegExp('^' + i, 'i')); if(m) return {files: navTree[i].files, i: i, loaded: navTree[i].loaded}; } } return {files: []}; }, go: function(h, params){ if(!h) return; if(!kj.logged && (h == 'http://kabuljan.af/' || h == '/')) return location.href = '/'; h = h.replace('http://kabuljan.af', ''); nav.new_url = h; if(!params) params = {}; if(nav.destroy){ nav.last_url = {h: h, p: params}; var ret = nav.destroy(1); if(ret == 1) return; nav.destroy = null; } nav.clear(); if(!params.no_change_link) history.pushState({link:h}, null, h); h += (h.indexOf('?') != -1 ? '&' : '?')+'al=-1'; nav.clean = false; nav.static_start = false; nav.cont_queue = {}; nav.init_js = null; nav.end = false; h += '&rnd_='+(new Date().getTime()); nav.cur_load_link = h; var h_data = nav.getStaticFiles(h); if(h_data.files.length > 0){ nav.static_start = true; if(!h_data.loaded){ stManager.add(h_data.files, function(){ navTree[h_data.i].loaded = true; if(nav.cur_load_link != h) return; nav.loaded_st = true; for(var i in nav.cont_queue){ KJ('#'+i).html(nav.cont_queue[i]); delete nav.cont_queue[i]; } if(nav.frame_loaded) nav.page_loaded(); }); }else nav.loaded_st = true; }else nav.loaded_st = true; KJ('body').append('<iframe id="navigation_frame"></iframe>'); KJ('#navigation_frame').attr('src', h); }, clear: function(h){ if(kj.uid){ if(cur.attach_all) cur.attach_all.obj = {}; wallReply.opened_form = 0; } if(KJ('.photoViewBox').length) Photos.opened = Photos.marking = null; //chrome bug fix, destroy ajax request if(KJ('#im_frame').length) KJ('#im_frame')[0].contentWindow.stop(); KJ('#im_frame, .photo_view, .box_pos, .box_info, .vii_box, .zoomWall, .photoViewBox, .titleHtml, #addStyleClass, .like_users_bl, .js_titleRemove, .tag_user_bl, #navigation_frame').remove(); KJ('body').attr('ondrop', ''); KJ([window, document]).unbind(); KJ('.kj_top_button').attr('onClick', '').hide(); if(KJ('#wiki_wall').length != 0) wiki_wall.close(); cur.langs = {}; if(kj.uid && KJ('#query').val().length > 0){ KJ('.fast_search_bg').hide(); KJ('#fs_scroll_cont').html(''); KJ('#query').val(''); } if(window.user_id) user_id = 0; cur.Media = {}; if(cur.wikiOpened) WikiView.destroy(); if(cur.notifyPad) NotifyPad.hide(); if(window.MediaObjs) MediaObjs = {}; cur.EmojiInited = []; nav.start_load_st = false; nav.loaded_st = false; nav.frame_loaded = false; voicesPlayer.curVoice = null; if(voicesPlayer.playing){ voicesPlayer.endVoice(); KJ('#voice_song')[0].pause(); } destroyCur(h); }, frame_data: function(type, data){ switch(type){ case 'nav_js': eval('(function(){' + data + ';})()'); break; case 'cont': data.cont = String(data.cont.replace('</AjaxScript>', '</script>')); if(nav.static_start) nav.cont_queue[data.id] = data.cont; else KJ('#'+data.id).html(data.cont); break; case 'static': var files = data.split(','); nav.static_start = true; if(nav.start_load_st) return; stManager.add(files, function(){ nav.static_start = false; for(var i in nav.cont_queue){ KJ('#'+i).html(nav.cont_queue[i]); delete nav.cont_queue[i]; } if(nav.init_js){ eval(nav.init_js); nav.init_js = null; } if(nav.end){ KJ('#navigation_frame').remove(); if(nav.loaded_st) nav.page_loaded(); } }); break; case 'init_js': //if(nav.static_start) nav.init_js = data; //else eval(data); nav.init_js = data; break; case 'end': nav.end = true; nav.frame_loaded = true; if(nav.static_start) return; KJ('#navigation_frame').remove(); if(nav.loaded_st) nav.page_loaded(); break; case 'counts': eval(data); break; case 'runtime': if(kj.uid != 11 && kj.uid != 1) return; KJ('#runtime').remove(); KJ('body').append(data); break; } }, page_loaded: function(){ KJ.each($('#page script'), function(){ var src = KJ(this).attr('src'); if(src){ src = src.replace('/js/', ''); stManager._add([src]); }else{ window.eval.apply(window, [KJ(this).html()]); } }); if(nav.init_js){ eval(nav.init_js); nav.init_js = null; } KJ('#navigation_frame').remove(); topButton(); KJ('body').css('overflow-y', 'auto').scrollTop(0); findInputs(); initClick(); if(window.audio_player && !audio_player.pause) audio_player.command('play', {style_only: true}); cur.lazy.searchImages(1); if(nav.resize_win){ onBodyResize(); nav.resize_win = null; } window.scrollTo(0,0); } }; Думаю нужны дополнительные параметры в файле .htaccess и дополнительный код в index.php Ссылка на комментарий Поделиться на другие сайты Поделиться
Mario Опубликовано 20 августа, 2016 Жалоба Поделиться Опубликовано 20 августа, 2016 Для себя делаешь или на продажу? Если для себя могу помочь. Ссылка на комментарий Поделиться на другие сайты Поделиться
PaZiTiF Опубликовано 20 августа, 2016 Автор Жалоба Поделиться Опубликовано 20 августа, 2016 Для себя делаешь или на продажу? Если для себя могу помочь. в лс ответил Ссылка на комментарий Поделиться на другие сайты Поделиться
Shaman Daniels Опубликовано 31 августа, 2016 Жалоба Поделиться Опубликовано 31 августа, 2016 up Ссылка на комментарий Поделиться на другие сайты Поделиться
FastCHAT Опубликовано 2 октября, 2018 Жалоба Поделиться Опубликовано 2 октября, 2018 В 20.08.2016 в 13:58, Mario сказал: Для себя делаешь или на продажу? Если для себя могу помочь. Можешь мне подсказать как сделать а то дизайн и функционал сделал а навигацию оставил стандартную vii и статику сделал 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Mario Опубликовано 2 октября, 2018 Жалоба Поделиться Опубликовано 2 октября, 2018 5 минут назад, PHPSocial сказал: Можешь мне подсказать как сделать а то дизайн и функционал сделал а навигацию оставил стандартную vii и статику сделал Что конкретно нужно? Ссылка на комментарий Поделиться на другие сайты Поделиться
FastCHAT Опубликовано 2 октября, 2018 Жалоба Поделиться Опубликовано 2 октября, 2018 Такая ситуация как у PaZiTiF 1 минуту назад, Mario сказал: Что конкретно нужно? 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Mario Опубликовано 2 октября, 2018 Жалоба Поделиться Опубликовано 2 октября, 2018 (изменено) 18 минут назад, PHPSocial сказал: Такая ситуация как у PaZiTiF Ну он мне ситуацию писал в лс, так что я сомневаюсь, что тебе она известна. Там же как и в вк (прежней версии, за эту не знаю), но упрощенно, идут разные варианты ответа в зависимости от переменной al, вот тут при нажатии на кнопку перехода оно создает фрейм в котором получает ответ в js формате и который обрабатывается, по сути это всё тоже самое, что в вии идет после ответа от сервера с параметром ajax = yes (скрин 1), но вместе с скриптом который будет обрабатываться, а не чисто данными для скрипта (новый заголовок, контент и подобное), который уже записан. Изменено 2 октября, 2018 пользователем Mario Ссылка на комментарий Поделиться на другие сайты Поделиться
FastCHAT Опубликовано 2 октября, 2018 Жалоба Поделиться Опубликовано 2 октября, 2018 4 минуты назад, Mario сказал: Ну он мне ситуацию писал в лс, так что я сомневаюсь, что тебе она известна. Там же как и в вк (прежней версии, за эту не знаю), но упрощенно, идут разные варианты ответа в зависимости от переменной al, вот тут при нажатии на кнопку перехода оно создает фрейм в котором получает ответ в js формате и который обрабатывается, по сути это всё тоже самое, что в вии идет после ответа от сервера с параметром ajax = yes (скрин 1), но вместе с скриптом который будет обрабатываться, а не чисто данными для скрипта (новый заголовок, контент и подобное), который уже записан. Я использую сборку андрея там по другому ... как мне навигацию прикрутить к сборке а общем мобильную версию я скопировал полностью с навигацией и всем функционалом а вот полную не могу 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
FastCHAT Опубликовано 2 октября, 2018 Жалоба Поделиться Опубликовано 2 октября, 2018 9 минут назад, Mario сказал: Ну он мне ситуацию писал в лс, так что я сомневаюсь, что тебе она известна. Там же как и в вк (прежней версии, за эту не знаю), но упрощенно, идут разные варианты ответа в зависимости от переменной al, вот тут при нажатии на кнопку перехода оно создает фрейм в котором получает ответ в js формате и который обрабатывается, по сути это всё тоже самое, что в вии идет после ответа от сервера с параметром ajax = yes (скрин 1), но вместе с скриптом который будет обрабатываться, а не чисто данными для скрипта (новый заголовок, контент и подобное), который уже записан. Вот php я уже все перепробовал но аякс и так не работает с джава кабулджана 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Mario Опубликовано 2 октября, 2018 Жалоба Поделиться Опубликовано 2 октября, 2018 3 минуты назад, PHPSocial сказал: Я использую сборку андрея там по другому ... как мне навигацию прикрутить к сборке а общем мобильную версию я скопировал полностью с навигацией и всем функционалом а вот полную не могу Откуда я знаю что куда прикручивается, он спрашивал за принцип работы, я ему в вк и расписывал, а ставил он так же или нет мне не известно, да и два года прошло Ссылка на комментарий Поделиться на другие сайты Поделиться
Mario Опубликовано 2 октября, 2018 Жалоба Поделиться Опубликовано 2 октября, 2018 1 минуту назад, PHPSocial сказал: Вот php я уже все перепробовал но аякс и так не работает с джава кабулджана Он так и не будет работать, и я написал почему, это же обычная подгрузка вии. Ссылка на комментарий Поделиться на другие сайты Поделиться
PaZiTiF Опубликовано 8 апреля, 2019 Автор Жалоба Поделиться Опубликовано 8 апреля, 2019 В 02.10.2018 в 14:50, Mario сказал: Он так и не будет работать, и я написал почему, это же обычная подгрузка вии. да, тогда давно ваши советы мне помогли разобраться, данный код у меня мб еще где-то остался на пк Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения