Таблица я якорями

13 views
Skip to first unread message

DeArtty

unread,
Aug 24, 2008, 10:46:43 PM8/24/08
to Fullajax
Нашол статью в интернете про ваш сайт(http://www.realcoding.net/
article/view/6720), что реализован на якарях, в этой статье приведен
пример скрипта с якарями

// Таблица или функция соответствия <<AJAX якорей>> реальным ссылкам
*****
var links = {
'/content/view/36' : 'main',
'/content/blogcategory/27/74' : 'news',
'/content/view/43/75' : 'technology',
'/content/view/41/76' : 'portfolio',
'/content/view/38/79' : 'connection',
'/content/view/42/80' : 'license',
'/content/view/45/83' : 'contacts',
'/content/view/39/77' : 'developers',
'/content/view/40/78' : 'links',
'/content/view/65/84' : 'download'
}
//проверка запроса не коренной страницы
if (location.pathname && location.pathname != '/') {
var l;
for (var i in links){
if (location.pathname.substring(0,i.length)==i) {
l = links[i] + location.pathname.replace(i,'');
break;
}
}
l = '/'+(l?'#:'+l:''); //преобразование в AJAX ссылку с якорем
// конец функции соответсвия ****
var ua = navigator.userAgent.toLowerCase();
//реализация редиректа с сохранением реферера для ИЕ и Оперы
if (ua.indexOf('opera') > -1 || ua.indexOf('msie') > -1) {
//для ИЕ нужно чтобы ссылка была внутри документа
if (ua.indexOf('msie') > -1) {
document.write('<a href="'+l+'" id="redirect" style="display:none"> </
a>')
document.getElementById('redirect').click();
} else {
//для Оперы можно просто создать обьект-ссылку и кликнуть по ней
var a = document.createElement('a');
a.setAttribute('href', l);
a.click();
}
} else {
//редирект для нормальных браузеров
location.replace(l);
}
} else {
//запрос коренной страницы
// определяем реферер, и если он есть определяем внутрений он или нет
var ref = document.referrer;
if (!ref || ref.indexOf(location.hostname) == -1 ||
(ref.substring(ref.length-'fullajax.ru/'.length,ref.length)=='fullajax.ru/'))
{
var ind = location.href.indexOf('#:');
if (ind != -1){
//определяем AJAX якорь-ссылку
var l = location.href.substring(ind+2);
for (var i in links){
//определяем соответсвующую AJAX якорю реальную ссылку и редиректим на
нее
if (l.substring(0,links[i].length)==links[i]) location.replace(i
+l.replace(links[i],''));
}
}
}
}

куда ету таблицу девать то, запихнуть в отдельный ява файл и
подгрузить к странице или как??
просто я попробовал так сделать у меня ниче не заработало

Ruslan

unread,
Aug 25, 2008, 3:27:43 AM8/25/08
to Fullajax
а что значит "ниче не заработало"? а что должно было заработать? если
чтото делать неосознано, то ничего и не будет работать...
что у вас есть на даный момент? что вы хотите получить?
сформируйте вопрос более четко и конкретно.

Ruslan

unread,
Aug 25, 2008, 5:11:39 PM8/25/08
to Fullajax
DeArtty пишет:

допустим есть страница index.php в ней контент ограниченный допустим
<div id=content></div>
На этой странице имееться ссылка с адресом , допустим news.php(в етой
фале свой контент) как подгрузить в index.php контент из news.php с
помощью якоря в ссылке

Ответ:

а зачем загружать с помощью якоря? такого я крайне не советую, разве
что в каких то очень специфических случаях...
контент вам надо загружать с помощью hax функции, или с помощью
SRAX.Filter.
Таблица якорей предназанчена, для "украсивения", приданию ссылкам
более лицеприятного вида. в конце концов аналог ЧПУ (человеко-понятные
УРЛы)

DeArtty

unread,
Aug 28, 2008, 4:20:17 AM8/28/08
to Fullajax
Вы меня немного недопоняли, я наверно неправельно объяснил, у меня
есть своя функция которая передает контент страниц, когда я передаю
контент, я изменяю ссылку из вида http://sait/ в вид например
http://sait/#:main . теперь мы знаем прямой доступ на саму страницу,
так вот при вводе в страку адреса ссылку http://sait/#:main как мне
заставить скрипт сразу погрузить страницу main

DeArtty

unread,
Aug 28, 2008, 4:21:59 AM8/28/08
to Fullajax
я думал именно для этого нужна таблица с якорями

Ruslan

unread,
Aug 28, 2008, 4:36:08 AM8/28/08
to Fullajax
> Вы меня немного недопоняли
я бы сказал что а вы не правильно объяснили :)...


> я думал именно для этого нужна таблица с якорями
и для этого в частности тоже...

а вообще надо дописать внизу страницы или после контейнера куда
грузится SRAX.directLink();
или где угодно SRAX.onReady(SRAX.directLink)

DeArtty

unread,
Aug 28, 2008, 5:31:55 AM8/28/08
to Fullajax
простите а что такое SRAX.directLink(); ?

Ruslan

unread,
Aug 28, 2008, 5:59:00 AM8/28/08
to Fullajax
функция автоматической обработки прямых AJAX ссылок
Message has been deleted
Message has been deleted

DeArtty

unread,
Aug 28, 2008, 11:20:40 PM8/28/08
to Fullajax
когда вводиш ссылку в строку адреса, нажимаеш загрузить, сначала
почемуто перескакивает на действительную ссылку страницы например /
main.php а потом ссылка становиться /#:main.php и при этом
загружаеться index'jdfz cnhfybwf

DeArtty

unread,
Aug 28, 2008, 11:27:32 PM8/28/08
to Fullajax

> загружаеться index'овая страница

DeArtty

unread,
Aug 28, 2008, 11:51:16 PM8/28/08
to Fullajax
У меня может не так реализовано как надо
у меня имееться index.html(с футером хедером и менюхами, через него я
погружаю страницы с контентом)
RewriteRule ^contacts?$ index.html?src=contacts.html [L,QSA]
в этих страницах только контент который в центре
тоесть любая сылка на другую страницу загружаеться через index.html
таким же образом
может быть у меня акая вата происходит из за того что таблица с
якорями заного погружаеться и читакет оять ету функцию
SRAX.onReady(SRAX.directLink)



Ruslan

unread,
Aug 29, 2008, 3:38:45 AM8/29/08
to Fullajax
залей кудато, я скажу где твои грабли
Reply all
Reply to author
Forward
0 new messages