Вопрос

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

Пример URL-адреса:

http://localhost/menuname.de?foo=bar&number=0
Это было полезно?

Решение

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

var pathname = window.location.pathname; // Returns path only (/path/example.html)
var url      = window.location.href;     // Returns full URL (https://example.com/path/example.html)
var origin   = window.location.origin;   // Returns base URL (https://example.com)

Другие советы

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

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

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

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>
<script>
  $(location).attr('href');      // http://www.refulz.com:8082/index.php#tab2
  $(location).attr('pathname');  // index.php
</script>
</html>

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

window.location.pathname
=> /search

window.location.href 
 => www.website.com/search#race_type=1

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

Просто добавьте эту функцию в 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));
}

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

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

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

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

Internet Explorer расстраивает кота, занимающегося программированием интерфейса, но jQuery — это тарелка молока.

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

window.location.hostname

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

var currentURL = window.location.href;

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

Тестовый URL:

http://
stackoverflow.com/questions/5515310/get-current-url-with-jquery/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();
}
  • протокол « Веб-браузеры используйте Интернет-протокол, соблюдая некоторые правила связи между веб-приложениями и веб-клиентом (браузером).(http = 80, https (SSL) = 443, ftp = 21 и т. д.)

БЫВШИЙ:С номерами портов по умолчанию

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

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

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

В локальной системе вам необходимо поддерживать домены, которые не являются ПУБЛИЧНЫМИ в файлах хоста.localhost.yash.com « localhsot - subdomain(web-server), yash.com - maindomain(Proxy-Server). myLocalApplication.com 172.89.23.777

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

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

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

URL-адрес enter image description here


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

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

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

http://my_email%40gmail.com:Yash%40777@www.my_site.com

encodeURI() (против) encodeURIComponent() пример

var testURL = "http:my_email@gmail:Yash777@//stackoverflow.com?tab=active&page=1#32942762";

var Uri = "/:@?&=,#", UriComponent = "$;+", Unescaped = "(-_.!~*')"; // Fixed
var encodeURI_Str = encodeURI(Uri) +' '+ encodeURI( UriComponent ) +' '+ encodeURI(Unescaped);
var encodeURIComponent_Str =  encodeURIComponent( Uri ) +' '+ encodeURIComponent( UriComponent ) +' '+ encodeURIComponent( Unescaped );
console.log(encodeURI_Str, '\n', encodeURIComponent_Str);
/*
 /:@?&=,# +$; (-_.!~*') 
 %2F%3A%40%3F%26%3D%2C%23 %2B%24%3B (-_.!~*')
*/

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

window.location.origin

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

window.location.href

еще есть место.__

.host
.hostname
.protocol
.pathname

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

  • document.URL

  • $("*").context.baseURI

  • location.href

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

var pathname = window.location.pathname + document.location.hash;

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

var loc = window.location;
var currentURL = loc.protocol + '//' + loc.host + loc.pathname;

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

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

 var currenturl = jQuery(location).attr('href');

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

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

Примечание:работает только на том же домене

Вот пример получения текущего 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);
});

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

Видеть 8 полезных фрагментов jQuery для URL-адресов и строк запросов.

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

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

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

$(location).attr('href').replace($(location).attr('pathname'),'');

Видеть Purl.js.Это действительно поможет, и его также можно использовать, в зависимости от jQuery.Используйте это следующим образом:

$.url().param("yourparam");

var path = location.pathname возвращает путь текущего URL-адреса (jQuery не требуется).Использование window.location является необязательным.

Очень часто используемые топ-3:

1. window.location.hostname 
2. window.location.href
3. window.location.pathname

Все браузеры поддерживают объект окна Javascript.Он определяет окно браузера.

Глобальные объекты и функции автоматически становятся частью объекта окна.

Все глобальные переменные являются свойствами объектов окна, а все глобальные функции — его методами.

Весь HTML-документ также является свойством окна.

Таким образом, вы можете использовать объект window.location для получения всех атрибутов, связанных с URL-адресом.

Javascript

console.log(window.location.host);     //returns host
console.log(window.location.hostname);    //returns hostname
console.log(window.location.pathname);         //return path
console.log(window.location.href);       //returns full current url
console.log(window.location.port);         //returns the port
console.log(window.location.protocol)     //returns the protocol

JQuery

console.log("host = "+$(location).attr('host'));
console.log("hostname = "+$(location).attr('hostname'));
console.log("pathname = "+$(location).attr('pathname')); 
console.log("href = "+$(location).attr('href'));   
console.log("port = "+$(location).attr('port'));   
console.log("protocol = "+$(location).attr('protocol'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script>

var newURL = window.location.protocol + "//" + window.location.host + "/" + window.location.pathname;
// get current URL

$(location).attr('href');
var pathname = window.location.pathname;
alert(window.location);

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

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

Бывший:на странице http://stackoverflow.com/questions/406192 это даст http://stackoverflow.com/controller/path

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top