Strict Standards: Resource ID#34 used as offset, casting to integer (34) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#36 used as offset, casting to integer (36) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#37 used as offset, casting to integer (37) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: Ссылки вида ?link=1
ТвойWeb » WebMaster класс » JavaScript » Ссылки вида ?link=1

Страниц (2): [1] 2 »
 

1. Antonio - 26 Мая, 2006 - 11:44:11 - перейти к сообщению
Как сделать так чтобы при наборе в адресной строке ссылки http://site.narod.ru/?link1 открывалась страница 1.html а при изменении 1 на 2 открывалась 2.html?
Дайте пожалуйста скриптик.
2. SviMik - 26 Мая, 2006 - 12:04:49 - перейти к сообщению
index.html:
CODE:

<script>
function returnVal(expression) {
var gloc = document.location.href;
var params = new Array();
if (gloc.indexOf('?')!=-1&&gloc.indexOf('=')!=-1) {
params[0] = gloc.split('?')[1];
if (params[0].indexOf('&')!=-1) {
params = params[0].split('&');
}
for (var i=0;i<params.length;i++) {
params[i] = params[i].split('=');
}
for (var i=0;i<params.length;i++) {
if (params[i][0].toLowerCase()==expression) {
return params[i][1];
}
}
return false;
} else {
return false;
}
}
page = returnVal('p');
if(page!='false'){document.location=page+'.html';}
</script>


http://site.narod.ru/?p=1

Примерно так.
3. Antonio - 26 Мая, 2006 - 12:58:20 - перейти к сообщению
SviMik
Вставил твой код на страницу, сохранил, открываю, браузер пытается открыть страницу false.html.
4. SviMik - 26 Мая, 2006 - 13:22:34 - перейти к сообщению
5. Antonio - 26 Мая, 2006 - 13:27:03 - перейти к сообщению
SviMik
Не, ты немного не понял, я даже страницу просмотреть не могу, сразу идет редирект на false.html.
6. SviMik - 26 Мая, 2006 - 13:39:47 - перейти к сообщению
Так её не надо смотреть. Надо сразу подставлять переменную.
Ок, подправил скрипт.
7. Antonio - 26 Мая, 2006 - 13:42:48 - перейти к сообщению
SviMik
В смысле её не надо смотреть?
А куда тогда скрипт вставлять, и куда ссылки?
8. Дмитрий Б. - 27 Мая, 2006 - 02:35:23 - перейти к сообщению
SviMik
А я бы немного не так сделал...
CODE:
<script type="text/javascript">
<!--
var pairs=location.search.slice(1).split('&');
var i;
for (i=0; i<pairs.length; i++)
if (pairs[i].indexOf('link=')==0)
location=pairs[i].slice(5)+'.html';
//-->
</script>


Antonio
Это ставишь на главной и получаешь, что при указании ссылки в формате http://site.narod.ru/link=filename происходит редирект на страницу filename.html; если ничего не указать, редиректа не будет.
9. Antonio - 27 Мая, 2006 - 05:41:50 - перейти к сообщению
Дмитрий Б.
Вставил скрипт, неработает.
А вот так можно http://site.narod.ru/?link=filename
?
10. Дмитрий Б. - 27 Мая, 2006 - 23:33:33 - перейти к сообщению
Antonio
У меня всё работает. Вот рабочая версия, погляди, что у тебя не так:

http://dima-bas.narod.ru/
http://dima-bas.narod.ru/?link=1
http://dima-bas.narod.ru/?link=2
http://dima-bas.narod.ru/?link=3

Если хочешь, чтобы расширение ".html" не добавлялось - исправь код на
CODE:
<script type="text/javascript">
<!--
var pairs=location.search.slice(1).split('&');
var i;
for (i=0; i<pairs.length; i++)
if (pairs[i].indexOf('link=')==0)
location=pairs[i].slice(5);
//-->
</script>

Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0317]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33