Как сделать так чтобы при наборе в адресной строке ссылки http://site.narod.ru/?link1 открывалась страница 1.html а при изменении 1 на 2 открывалась 2.html?
Дайте пожалуйста скриптик.
1. Antonio - 26 Мая, 2006 - 11:44:11 - перейти к сообщению
2. SviMik - 26 Мая, 2006 - 12:04:49 - перейти к сообщению
index.html:
http://site.narod.ru/?p=1
Примерно так.
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>
<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.
Вставил твой код на страницу, сохранил, открываю, браузер пытается открыть страницу false.html.
4. SviMik - 26 Мая, 2006 - 13:22:34 - перейти к сообщению
А если http://site.narod.ru/index.html?p=1 ?
5. Antonio - 26 Мая, 2006 - 13:27:03 - перейти к сообщению
SviMik
Не, ты немного не понял, я даже страницу просмотреть не могу, сразу идет редирект на false.html.
Не, ты немного не понял, я даже страницу просмотреть не могу, сразу идет редирект на false.html.
6. SviMik - 26 Мая, 2006 - 13:39:47 - перейти к сообщению
Так её не надо смотреть. Надо сразу подставлять переменную.
Ок, подправил скрипт.
Ок, подправил скрипт.
7. Antonio - 26 Мая, 2006 - 13:42:48 - перейти к сообщению
SviMik
В смысле её не надо смотреть?
А куда тогда скрипт вставлять, и куда ссылки?
В смысле её не надо смотреть?
А куда тогда скрипт вставлять, и куда ссылки?
8. Дмитрий Б. - 27 Мая, 2006 - 02:35:23 - перейти к сообщению
SviMik
А я бы немного не так сделал...
Antonio
Это ставишь на главной и получаешь, что при указании ссылки в формате http://site.narod.ru/link=filename происходит редирект на страницу filename.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)+'.html';
//-->
</script>
<!--
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
?
Вставил скрипт, неработает.
А вот так можно 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" не добавлялось - исправь код на
У меня всё работает. Вот рабочая версия, погляди, что у тебя не так:
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>
<!--
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>