Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   http://www.site.ru/#screenshots вставляя в браузер оказываюсь на главной странице( (https://javascript.ru/forum/dom-window/33538-http-www-site-ru-screenshots-vstavlyaya-v-brauzer-okazyvayus-na-glavnojj-stranice.html)

William Rast 27.11.2012 09:11

http://www.site.ru/#screenshots вставляя в браузер оказываюсь на главной странице(
 
http://www.site.ru/#screenshots вставляя в браузер оказываюсь на главной странице(
Находясь на сайте, кликаю на пункт меню и попадаю туда, но если указать линк другому человеку он попадает на главную страницу, ребята, как решить данную проблему?:(

William Rast 27.11.2012 10:22

ребята,технари,помогите блин,я по молюсь за вас!

Aetae 27.11.2012 10:48

Телепатия не абсолютна. Можно понять что сайт у вас на ajax и контент подгружается динамически без перехода.
Есть несколько вариантов решения проблемы с передачей ссылки.
1. mod rewrite на сервере.
2. просто переадресация на сервере.
3. работа с history на клиенте и двойная компановка вывода на сервере.(самый нормальный)
4. перехват location.hash на клиенте и подгрузка соответствующего контента.
5. ...
6. Profit!

Но что там у вас конкретно увы телепатия не говорит.

William Rast 27.11.2012 11:42

Код навигации по странице -

// Main Navigation
var FluidNav = {
	init: function() {
		$("a[href*=#]").click(function(e) {
			e.preventDefault();
			
			if($(this).attr("href").split("#")[1]) {
				FluidNav.goTo($(this).attr("href").split("#")[1]);
			}
		});
		this.goTo("home");
	},
	goTo: function(page) {
		var next_page = $("#"+page);
		var nav_item = $('nav ul li a[href=#'+page+']')
		$("nav ul li").removeClass("current");
		nav_item.parent().addClass("current");
		FluidNav.resizePage((next_page.height() + 40), true, function() {
			 $(".page").removeClass("current"); next_page.addClass("current"); 
		});
		$(".page").fadeOut(500);
		next_page.fadeIn(500);
		
		FluidNav.centerArrow(nav_item);
		
	},
	centerArrow: function(nav_item, animate) {
		var left_margin = (nav_item.parent().position().left + nav_item.parent().width()) + 24 - (nav_item.parent().width() / 2);
		if(animate != false) {
			$("nav .arrow").animate({
				left: left_margin - 8
			}, 500, function() { $(this).show(); });
		} else {
			$("nav .arrow").css({ left: left_margin - 8 });
		}
	},
	resizePage: function(size, animate, callback) {
		if(size) { var new_size = size; } else { var new_size = $(".page.current").height() + 40; }
		if(!callback) { callback = function(){}; }
		if(animate) {
			$("#pages").animate({ height: new_size }, 400, function() { callback.call(); }); 
		} else {
			$("#pages").css({ height: new_size }); 
		}
	}
};


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

danik.js 27.11.2012 12:44

this.goTo("home") -> this.goTo(location.hash.replace('#', '') || "home")

William Rast 27.11.2012 13:01

дружище, напиши свой номер телефона, я тебе денег кину
williamrast@mail.ru

William Rast 27.11.2012 14:11

только теперь у меня почему-то не открывается ссылка типа -
http://www.apple71.com/#mmp=ViewProductPage&mmpid=8164
весь js встает(
остальные вкладки работают.

danik.js 27.11.2012 18:46

this.goTo(location.hash.replace('#', '').split('&')[0] || "home")

danik.js 27.11.2012 19:04

Можно еще так сделать:
if (location.hash){ 
    $('a').each(function(){
       if (this.href.replace(location.origin, '') == location.href.replace(location.origin, '')) { $(this).click(); return false;}
    });
}

danik.js 09.12.2012 19:32

Цитата:

Сообщение от William Rast
дружище, напиши свой номер телефона, я тебе денег кину

Жду по сей день! Обещания надо выполнять! Спасибо хоть за плюс...


Часовой пояс GMT +3, время: 03:46.