Скопируйте код кода следующим образом:
<скрипт>
функция goto_url(url){
var new_url = "http://shop.usteel.com/index.php?app=list_release";
var d_date = getParameter("дата",url);
if(d_date != '' ){
new_url += "&"+d_date;
}
вар виды = getParameter("виды",url);
if(виды != ''){
new_url += "&"+виды;
}
window.open(new_url);
}
//javascript получает указанные параметры и соответствующие им значения
функция getParameter (paraStr, URL)
{
вар результат = "";
//Получаем все данные списка параметров по URL
var str = "&" + url.split("?")[1];
вар paraName = paraStr + "=";
//Определяем, существует ли параметр, который нужно получить
if(str.indexOf("&"+paraName)!=-1)
{
//Если параметр, который нужно получить, все еще содержит "&" в конце
if(str.substring(str.indexOf(paraName),str.length).indexOf("&")!=-1)
{
//Доводим параметры, которые нужно получить до конца строки
var TmpStr=str.substring(str.indexOf(paraName),str.length);
//Перехватываем символы от начала параметра до ближайшей позиции вхождения "&"
result=TmpStr.substr(TmpStr.indexOf(paraName),TmpStr.indexOf("&")-TmpStr.indexOf(paraName));
}
еще
{
результат = str.substring(str.indexOf(paraName),str.length);
}
}
еще
{
результат="";
}
return (result.replace("&",""));
}
</скрипт>
Пример ниже завершен и протестирован.
Скопируйте код кода следующим образом:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<голова>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>Javascript получает параметры URL и значения параметров</title>
<тип сценария="текст/javascript">
<!--
var url = "http://www.baidu.com/?age=25&k=1&site=asp&abc=123;"
//javascript получает указанные параметры и соответствующие им значения
функция getParameter (paraStr, URL)
{
вар результат = "";
//Получаем все данные списка параметров по URL
var str = "&" + url.split("?")[1];
вар paraName = paraStr + "=";
//Определяем, существует ли параметр, который нужно получить
if(str.indexOf("&"+paraName)!=-1)
{
//Если получаемый параметр все еще содержит "&" в конце
if(str.substring(str.indexOf(paraName),str.length).indexOf("&")!=-1)
{
//Доводим параметры, которые нужно получить до конца строки
var TmpStr=str.substring(str.indexOf(paraName),str.length);
//Перехватываем символы от начала параметра до ближайшей позиции вхождения "&"
result=TmpStr.substr(TmpStr.indexOf(paraName),TmpStr.indexOf("&")-TmpStr.indexOf(paraName));
}
еще
{
результат = str.substring(str.indexOf(paraName),str.length);
}
}
еще
{
result="Нет такого параметра";
}
return (result.replace("&",""));
}
//Метод вызова: var имя переменной = getParameter("Имя получаемого параметра", URL-адрес)
вар r = getParameter("возраст",url);
//Проверка вывода, результат: site=popasp
оповещение (р);
//Можно использовать на основании полученных результатов
var pName = r.split("=")[0] //Получаем имя параметра
var pValue = r.split("=")[1] //Получаем значение параметра
//Вывод теста:
alert("Имя параметра:" + pName + "/n/n" + "Значение параметра: " + pValue);
//Другие практические применения:
//Вы можете использовать следующие методы для достижения желаемых функций по мере необходимости;
//var hostname = location.hostname //Получить текущее имя домена (исключая http://)
//var localurl = location.href; //Получить текущую полную информацию об URL-адресе (включая http://, имя домена, путь, конкретный файл и все переданные параметры)
//var Referurl = document.referrer; //Получить полную информацию об URL предыдущей страницы (включая http://, имя домена, путь, конкретный файл и все переданные параметры)
//-->
</скрипт>
</голова>
<тело>
</тело>
</html>