2015-09-27 2 views
0

Я пытаюсь создать страницу перенаправления, но мне нужно использовать два параметра для создания адресной ссылки.Переадресация на стороне клиента с использованием параметров адресной строки

<!DOCTYPE html> 
<!-- 
Test file 
--> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<!--<meta http-equiv="refresh" content="0;url=link" />--> 
</head> 
<body> 
<p>Redirecting...</p> 
<script language="javascript"> 
    var chapterx = document.getElementById("chapter").value; 
    var linex = document.getElementById("line").value; 
    var link = "http://www.mypage.com/help?chapter=" + chapterx + "," + linex; 

    //window.prompt(link); 
    window.location = link; 
</script> 
</body> 
</html> 

Я тестирую это, загружая страницу с моего ПК, а не с сервера.

У меня есть очень простая концепция о HTML и JS, и я не могу понять, что я делаю неправильно.

Я прочитал что-то от Redirect from an HTML page, чтобы создать этот код.

Плюс, theres любой способ написать переменную 'link' перед перенаправлением, чтобы узнать, что произойдет?

Также у меня установлен Firebug, но я не могу найти переменные, которые я объявил, чтобы увидеть их статус.

+0

Какими должны быть значения 'chapterx' и' linex' и где вы их получите? – Lucio

+0

@Lucio - это номера, параметры в адресной строке. –

+1

Тогда вам просто нужно получить их из URL-адреса, а не из DOM. Это поможет вам, так как остальная часть кода в порядке: http://stackoverflow.com/q/5448545/1505348 – Lucio

ответ

1

Ваш код верный. Но это не будет работать, потому что JavaScript обнаруживает ошибку на этой линии:

var chapterx = document.getElementById("chapter").value; 

У вас нет какой-либо элемент на странице с chapter идентификатором. Ваша следующая строка ошибочна, потому что на вашей странице нет элемента с идентификатором line.

Я добавил это к своему коде:

<div id="chapter"></div> 
<div id="line"></div> 

после <p>Redirecting...</p> и успешно перенаправлен меня: http://www.mypage.com/help?chapter=undefined,undefined

Хотелось бы надеяться, что помогли :)

+0

Спасибо, теперь я понимаю, что я вызываю что-то несуществующее. Я пытаюсь установить значения, которые у меня есть в адресной строке, чтобы создать новый адрес. Моя старая страница выглядит как www.old.com/help.hmtl?chap=1&lin=32, а новый адрес - www.new.com/help.hmtl?chapter=1,32 –

0

Чтения ссылки, отправленной Лусио I введите следующий код:

<!DOCTYPE html> 
<!-- 
Test file 
--> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<!--<meta http-equiv="refresh" content="0;url=link" />--> 
</head> 
<body> 
<p>Redirecting...</p> 
<script language="javascript"> 
    var chapterx = decodeURIComponent(window.location.search.match(/(\?|&)chap\=([^&]*)/)[2]); 
    var linex = decodeURIComponent(window.location.search.match(/(\?|&)lin\=([^&]*)/)[2]); 
    var link = "http://www.myweb.com/help.html?chapter=" + chapterx + "," + linex; 
    window.location = link; 
</script> 
</body> 
</html> 
Смежные вопросы