Получить текущий URL-адрес с помощью jQuery?

Я использую jQuery. Как получить путь к текущему URL-адресу и присвоить его переменной?

Пример URL:

 http://localhost/menuname.de?foo=bar&number=0
 
вопрос задан 2.01.2009
venkatachalam
48982 репутация

29 ответов


  • 2185 рейтинг

    Чтобы получить путь, вы можете использовать:

     var pathname = window.location.pathname; // Returns path only
    var url      = window.location.href;     // Returns full URL
    var origin   = window.location.origin;   // Returns base URL
     
    ответ дан Ryan Doherty, с репутацией 30993, 2.01.2009
  • 781 рейтинг

    В чистом стиле jQuery:

     $(location).attr('href');
     

    Объект location также имеет другие свойства, такие как хост, хэш, протокол и имя пути.

    ответ дан Boris Guéry, с репутацией 39940, 19.05.2010
  • 432 рейтинг
     http://www.refulz.com:8082/index.php#tab2?foo=789
    
    Property    Result
    ------------------------------------------
    host        www.refulz.com:8082
    hostname    www.refulz.com
    port        8082
    protocol    http:
    pathname    index.php
    href        http://www.refulz.com:8082/index.php#tab2
    hash        #tab2
    search      ?foo=789
    
    var x = $(location).attr('<property>');
     

    Это будет работать, только если у вас есть jQuery. Например:

     <html>
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js">
    </script>
      $(location).attr('href');      // http://www.refulz.com:8082/index.php#tab2
      $(location).attr('pathname');  // index.php
    </script>
    </html>
     
    ответ дан rizon, с репутацией 6815, 30.01.2013
  • 57 рейтинг

    Если вам нужны хэш-параметры, присутствующие в URL-адресе, window.location.href может быть лучшим выбором.

     window.location.pathname
    => /search
    
    window.location.href 
     => www.website.com/search#race_type=1
     
    ответ дан jlfenaux, с репутацией 2428, 9.05.2010
  • 45 рейтинг

    Вы захотите использовать встроенный в JavaScript объект window.location .

    ответ дан clawr, с репутацией 7389, 2.01.2009
  • 36 рейтинг

    Просто добавьте эту функцию в JavaScript, и она вернет абсолютный путь к текущему пути.

     function getAbsolutePath() {
        var loc = window.location;
        var pathName = loc.pathname.substring(0, loc.pathname.lastIndexOf('/') + 1);
        return loc.href.substring(0, loc.href.length - ((loc.pathname + loc.search + loc.hash).length - pathName.length));
    }
     

    Надеюсь, это сработает для вас.

    ответ дан Neville Bonavia, с репутацией 361, 19.05.2010
  • 29 рейтинг

    window.location - это объект в javascript. он возвращает следующие данные

     window.location.host          #returns host
    window.location.hostname      #returns hostname
    window.location.path          #return path
    window.location.href          #returns full current url
    window.location.port          #returns the port
    window.location.protocol      #returns the protocol
     

    в jquery вы можете использовать

     $(location).attr('host');        #returns host
    $(location).attr('hostname');    #returns hostname
    $(location).attr('path');        #returns path
    $(location).attr('href');        #returns href
    $(location).attr('port');        #returns port
    $(location).attr('protocol');    #returns protocol
     
    ответ дан Gaurav, с репутацией 1609, 6.04.2015
  • 25 рейтинг

    Это более сложная проблема, чем многие могут подумать. Несколько браузеров поддерживают встроенные объекты местоположения JavaScript и связанные с ними параметры /методы, доступные через window.location или document.location . Однако разные варианты Internet Explorer (6,7) не поддерживают эти методы одинаково ( window.location.href ? window.location.replace() не поддерживается), поэтому вам приходится обращаться к ним по-разному, все время записывая условный код, чтобы вручную использовать Internet Explorer ,

    Итак, если у вас есть jQuery, доступный и загруженный, вы можете также использовать jQuery (местоположение), как упомянуты другие, поскольку он решает эти проблемы. Если, однако, вы делаете - например, некоторые перенаправления геолокации на стороне клиента через JavaScript (то есть с помощью API Карт Google и методов объекта местоположения), то вам может не потребоваться загрузить всю библиотеку jQuery и написать условный код, который проверяет каждую версию Internet Explorer /Firefox /и т. д.

    Internet Explorer делает кодовую кодировку переднего конца недовольной, но jQuery - это тарелка с молоком.

    ответ дан negutron, с репутацией 531, 12.01.2011
  • 24 рейтинг

    Только для имени узла используйте:

     window.location.hostname
     
    ответ дан Mahmoud Farahat, с репутацией 3236, 5.10.2010
  • 19 рейтинг

    Это также будет работать:

     var currentURL = window.location.href;
     
    ответ дан Suresh Pattu, с репутацией 2775, 26.07.2012
  • 17 рейтинг

    java-script предоставляет множество методов для извлечения текущего URL-адреса, который отображается в адресной строке браузера.

    Тестовый URL: http://stackoverflow.com/questions/5515310/is-there-a-standard-function-to-check-for-null-undefined-or-blank-variables-in/32942762?rq=1&page=2&tab=active&answertab=votes#32942762

     resourceAddress.hash();
    console.log('URL Object ', webAddress);
    console.log('Parameters ', param_values);
     

    Функция:

     var webAddress = {};
    var param_values = {};
    var protocol = '';
    var resourceAddress = {
    
        fullAddress : function () {
            var addressBar = window.location.href;
            if ( addressBar != '' && addressBar != 'undefined') {
                webAddress[ 'href' ] = addressBar;
            }
        },
        protocol_identifier : function () { resourceAddress.fullAddress();
    
            protocol = window.location.protocol.replace(':', '');
            if ( protocol != '' && protocol != 'undefined') {
                webAddress[ 'protocol' ] = protocol;
            }
        },
        domain : function () {      resourceAddress.protocol_identifier();
    
            var domain = window.location.hostname;
            if ( domain != '' && domain != 'undefined' && typeOfVar(domain) === 'string') {
                webAddress[ 'domain' ] = domain;
                var port = window.location.port;
                if ( (port == '' || port == 'undefined') && typeOfVar(port) === 'string') {
                    if(protocol == 'http') port = '80';
                    if(protocol == 'https') port = '443';           
                }
                webAddress[ 'port' ] = port;
            }
        },
        pathname : function () {        resourceAddress.domain();
    
            var resourcePath = window.location.pathname;
            if ( resourcePath != '' && resourcePath != 'undefined') {
                webAddress[ 'resourcePath' ] = resourcePath;
            }
        },
        params : function () {      resourceAddress.pathname();
    
            var v_args = location.search.substring(1).split("&");
    
            if ( v_args != '' && v_args != 'undefined')
            for (var i = 0; i < v_args.length; i++) {
                var pair = v_args[i].split("=");
    
                if ( typeOfVar( pair ) === 'array' ) {
                    param_values[ decodeURIComponent( pair[0] ) ] = decodeURIComponent( pair[1] );
                }
            }
            webAddress[ 'params' ] = param_values;
        },
        hash : function () {        resourceAddress.params();
    
            var fragment = window.location.hash.substring(1);
            if ( fragment != '' && fragment != 'undefined')
                webAddress[ 'hash' ] = fragment;        
        }
    };
    function typeOfVar (obj) {
          return {}.toString.call(obj).split(' ')[1].slice(0, -1).toLowerCase();
    }
     
    • протокол « Веб-браузеры используют Интернет-протокол, следуя некоторым правилам обмена данными между WebHosted Applications и Web Client (Browser). (http = 80 , https (SSL) = 443 , ftp = 21 и т. д.)

    EX: с номерами портов по умолчанию

     <protocol>//<hostname>:<port>/<pathname><search><hash>
    https://en.wikipedia.org:443/wiki/Pretty_Good_Privacy
    http://stackoverflow.com:80/
     
    • (//) «Host - это имя, присвоенное конечной точке (машина, на которой ресурс живет) в Интернете. www.stackoverflow.com - DNS- адрес IP-адреса приложения (OR) localhost: 8080 - localhost

    Доменные имена, которые вы регистрируете по правилам и процедурам дерева доменных имен (DNS). DNS-серверов того, кто управляет вашим доменом IP-адресом для целей адресации. В иерархии DNS-сервера имя корня stackoverlfow.com является ком.

     gTLDs      - com « stackoverflow (OR) in « co « google
     

    В локальной системе вам необходимо поддерживать домен, который не является PUBLIC в файлах хоста. localhost.yash.com « localhsot - subdomain( web-server ), yash.com - maindomain( Proxy-Server ). myLocalApplication.com 172.89.23.777

    • (/) «Путь дает информацию о конкретном ресурсе хоста, к которому хочет получить доступ веб-клиент
    • (?) «Необязательный запрос состоит в передаче последовательности пар атрибут-значение, разделенных разделителем (&).
    • (#) «Необязательный фрагмент часто является атрибутом id определенного элемента, и веб-браузеры будут прокручивать этот элемент в представлении.

    Если параметр имеет Epoch ?date=1467708674 используйте.

     var epochDate = 1467708674; var date = new Date( epochDate );
     

    URL введите описание изображения здесь


    Аутентификационный URL с именем пользователя: пароль, если usernaem /password содержит символ @
    как:

     Username = `my_email@gmail`
    password = `Yash@777`
     

    то вам нужно URL-кодировать @ как %40 . См ...

     http://my_email%40gmail.com:Yash%40777@www.my_site.com
     
    ответ дан Yash, с репутацией 3756, 5.07.2016
  • 16 рейтинг

    Вы можете зарегистрировать window.location и просмотреть все параметры, только для использования URL:

     window.location.origin
     

    для всего использования пути:

     window.location.href
     

    есть также место. _ _

     .host
    .hostname
    .protocol
    .pathname
     
    ответ дан dacopenhagen, с репутацией 1047, 28.11.2012
  • 12 рейтинг

    Это вернет абсолютный URL текущей страницы с помощью JavaScript /jQuery .

    • document.URL

    • $("*").context.baseURI

    • location.href

    ответ дан user1570636, с репутацией 474, 16.05.2013
  • 10 рейтинг

    Если есть кто-то, кто хочет конкатенировать URL-адрес и хэш-тег, объедините две функции:

     var pathname = window.location.pathname + document.location.hash;
     
    ответ дан Nis, с репутацией 1214, 17.05.2013
  • 9 рейтинг

    У меня есть это, чтобы исключить переменные GET.

     var loc = window.location;
    var currentURL = loc.protocol + '//' + loc.host + loc.pathname;
     
    ответ дан Aram Kocharyan, с репутацией 15807, 25.08.2012
  • 8 рейтинг

    Ниже приведен пример получения текущего URL-адреса с помощью jQuery и JavaScript:

     $(document).ready(function() {
    
        //jQuery
        $(location).attr('href');
    
        //Pure JavaScript
        var pathname = window.location.pathname;
    
        // To show it in an alert window
        alert(window.location);
    });
    
    
    $.getJSON("idcheck.php?callback=?", { url:$(location).attr('href')}, function(json){
        //alert(json.message);
    });
     
    ответ дан Costa, с репутацией 4259, 15.05.2014
  • 8 рейтинг

    Чтобы получить URL-адрес родительского окна внутри iframe:

     $(window.parent.location).attr('href');
     

    NB: работает только в одном домене

    ответ дан Costa, с репутацией 4259, 19.05.2013
  • 8 рейтинг
     var currenturl = jQuery(location).attr('href');
    
    ответ дан hari maliya, с репутацией 474, 19.11.2012
  • 7 рейтинг

    Вы можете просто получить свой путь, используя сам js, window.location или location предоставит вам объект текущего URL-адреса

     console.log("Origin - ",location.origin);
    console.log("Entire URL - ",location.href);
    console.log("Path Beyond URL - ",location.pathname); 

    ответ дан Mohideen ibn Mohammed, с репутацией 6554, 27.06.2017
  • 7 рейтинг

    Ниже приведены примеры полезных фрагментов кода, которые можно использовать. Некоторые примеры используют стандартные функции JavaScript и не являются специфичными для jQuery:

    См. 8 полезных фрагментов jQuery для URL и Querystrings .

    ответ дан Issamovitch, с репутацией 313, 29.04.2013
  • 7 рейтинг

    Используйте window.location.href . Это даст вам полный URL .

    ответ дан Saikumar Anireddy, с репутацией 91, 1.07.2014
  • 6 рейтинг

    window.location предоставит вам текущий URL-адрес , и вы сможете извлечь из него все, что хотите от него ...

    ответ дан ZMR BINU, с репутацией 117, 19.12.2011
  • 5 рейтинг

    Если вы хотите получить путь к корневому сайту, используйте это:

     $(location).attr('href').replace($(location).attr('pathname'),'');
     
    ответ дан vikas mehta, с репутацией 297, 26.06.2012
  • 5 рейтинг

    См. Purl.js. Это действительно поможет и может также использоваться в зависимости от jQuery. Используйте его так:

     $.url().param("yourparam");
     
    ответ дан Chuanshi Liu, с репутацией 314, 3.02.2015
  • 5 рейтинг

    var path = location.pathname возвращает путь к текущему URL-адресу в jQuery. Нет необходимости использовать window .

    ответ дан Jonathan Lin, с репутацией 10440, 19.10.2012
  • 4 рейтинг

    Очень часто используются три верхних

     1. window.location.hostname 
    2. window.location.href
    3. window.location.pathname
     
    ответ дан Nitish Kumar Pal, с репутацией 391, 8.09.2017
  • 4 рейтинг
    var newURL = window.location.protocol + "//" + window.location.host + "/" + window.location.pathname;
    
    ответ дан Hema Ganapathy, с репутацией 129, 10.07.2016
  • 3 рейтинг
    // get current URL
    
    $(location).attr('href');
    var pathname = window.location.pathname;
    alert(window.location);
    
    ответ дан Ayan Chakraborty, с репутацией 109, 31.05.2016
  • 2 рейтинг

    В jstl мы можем получить доступ к текущему URL-адресу с использованием pageContext.request.contextPath Если вы хотите выполнить вызов ajax,

       url = "${pageContext.request.contextPath}" + "/controller/path"
     

    Пример: на странице http://stackoverflow.com/questions/406192 это даст http://stackoverflow.com/controller/path

    ответ дан Maleen Abewardana, с репутацией 5793, 12.04.2016