Получение URL-адреса в Javascript

#javascript #html

#javascript #HTML

Вопрос:

Хорошо, я новичок в JavaScript и нуждаюсь в некоторой помощи здесь. Работа с кнопками вперед / назад на странице. По сути, URL-адрес выглядит следующим образом http://webaddress.com/details?id=27

Итак, мои две функции предназначены для извлечения URL-адреса и пересылки на ту же страницу, уменьшая или увеличивая идентификатор сведений по мере необходимости при нажатии одной из кнопок. Например, когда кто-то нажимает на следующую кнопку, id=28 отображается; и если предыдущий нажат, id=26 отображается.

Я думаю, что это что-то вроде substring , я видел, как это делалось где-то раньше, но не уверен, как это делается.

Мне нужна идея о том, как к этому подойти. Любая помощь будет оценена.

Обновление: я использовал приведенный ниже код @gion_13, но, похоже, я чего-то не понимаю. Похоже, это не работает. Любая другая помощь будет оценена.

Ответ №1:

Вы можете использовать location.href для получения или установки URL-адреса.

http://developer.mozilla.org/en/window .Расположение

Используется exec для извлечения идентификатора.

 extracted_id = /id=([0-9] )$/.exec(location.href)[1]
  

http://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/RegExp/exec

Комментарии:

1. Спасибо за этот совет, но, похоже, ваш подход предполагает, что пользователь находится в браузере Mozilla.

2. Mozilla просто размещает его — он не зависит от браузера (если не указано иное).

Ответ №2:

  1. Прочитайте URL-адрес как var url = document.location.href
  2. Используйте регулярное выражение или indexOf «=» или document.location.search, чтобы найти текущую страницу без
  3. Синтаксический анализ как int и /- номер страницы
  4. перестроить URL-адрес
  5. document.location.replace(newurl)

Комментарии:

1. Я собирался ответить на это, но ты опередил меня на 2 минуты! 😉

2. NP, попробуй в следующий раз и будь быстрее 🙂

Ответ №3:

 function parseUrl(){
    if(location.href.indexOf('?') == -1)
        return null;
    var aux = location.href.split('?');
     var result = {
        'href' : aux[0],
        'params' : {}
    };
    var p = aux[1].split('amp;');
    for(var i=0,l=p.length;i  )
        {
             var kv = p[i].split('=');
             params[kv[0]] = kv[1];
        }        
    return resu<
}

function reconstructUrl(obj){
    if(!obj)
        return location;
    var url = obj.href   '?';
    for(var i in obj.params)
        url  = i   '='   obj.params[i]   'amp;';
    return encodeURI(url);
}

function getNextUrl(){
    var urlObj = parseUrl();
    urlObj.id  ;
    return reconstructUrl(urlObj);
}

function getPrevUrl(){
    var urlObj = parseUrl();
    urlObj.id--;
    return reconstructUrl(urlObj);
}
  

Комментарии:

1. Спасибо миллион за этот код. Я ценю это — я только что добавил <тип ввода =»отправить» onclick=»getPrevUrl()» значение =»Предыдущий» /> и ничего не сработало. Есть ли что-то, чего мне не хватает. Еще раз спасибо за вашу помощь.

2. Хотя код не работал для меня, он дал мне пищу для размышлений и адаптации к тому, что мне нужно. Еще раз спасибо.

3. ну, я не тестировал это, но основная идея есть. Для того, чтобы это работало в вашем случае, вы должны были написать что-то вроде этого : <input type="submit" onclick="window.location = getPrevUrl();" value="Previous" />

Ответ №4:

window.location Объект содержит необходимую вам информацию об URL-адресе. Вы можете проанализировать его с помощью регулярного выражения. Вот некоторые ссылки:

Комментарии:

1. окно. местоположение не возвращает параметры GET. Вам нужно использовать document.URL

2. Вы должны использовать весь объект location. window.location.search имеет параметры запроса.

Ответ №5:

Чтобы получить доступ к URL-адресу страницы, используйте document .URL, например:

 document.write(document.URL);
  

Затем вы можете изменить URL-адрес и открыть новый URL-адрес.

Множество подсказок и советов см. в примерах JavaScript HTML DOM.

Ответ №6:

Вы можете сделать это без Javascript, если хотите. Я думаю, что это более эффективно с PHP, потому что это будет работать, даже если у какого-то пользователя отключен Javascript.

Вы можете попробовать получить идентификатор следующим образом:

 <?php $my_id = $_GET['id']; ?>
  

Комментарии:

1. Спасибо, но вы прочитали вопрос? Ваш код выглядит довольно тривиально.