Gauti dabartinį URL naudojant jQuery?

Aš naudoju jQuery. Kaip gauti kelią į dabartinį URL ir priskirti jį kintamajam?

Pavyzdžio URL:

 http://localhost/menuname.de?foo=bar> 
1648 m
02 янв. nustatė venkatachalam 02 Jan 2009-01-02 09:42 '09 9:42 am 2009-01-02 09:42
@ 30 atsakymų

Jei norite gauti kelią, galite naudoti:

 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) 
2237
02 янв. Atsakymą davė Ryanas Doherty 02 2009-01-02 09:57 '09 9:57 am 2009-01-02 09:57

Grynas jQuery stilius:

 $(location).attr('href'); 
border=0

Vietos objektas taip pat turi kitų savybių, pvz., Kompiuterio, maišos, protokolo ir kelio pavadinimo.

787
19 мая '10 в 15:42 2010-05-19 15:42 atsakymą pateikė Borisas Guéry gegužės 19, 10, 15:42 2010-05-19 15:42
 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>'); 

Tai veiks tik tada, jei turite jQuery. Pavyzdžiui:

 <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> 
437
31 янв. atsakymas duotas rizon 31 d 2013-01-31 00:10 '13, esant 0:10 2013-01-31 00:10

Jei jums reikalingi maišos parametrai URL, window.location.href gali būti geriausias pasirinkimas.

 window.location.pathname => /search window.location.href => www.website.com/search#race_type=1 
58
09 мая '10 в 19:39 2010-05-09 19:39 Atsakymą pateikė jlfenaux gegužės 09, 10, 19:39 2010-05-09 19:39

Jūs norite naudoti integruotą javascript window.location .

46
02 янв. atsakymas suteiktas 02 sausio mėn. 2009-01-02 09:50 '09 9:50 val. 2009-01-02 09:50

Tiesiog pridėkite šią funkciją į „JavaScript“ ir grąžins absoliutų kelią į dabartinį kelią.

 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)); } 

Tikiuosi, kad tai jums tinka.

38
19 мая '10 в 12:12 2010-05-19 12:12 atsakymą pateikė Neville Bonavia , gegužės 19 d. 10 val. 12:12 2010-05-19 12:12

window.location yra javascript objektas. ji grąžina šiuos duomenis

 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 galite naudoti

 $(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 
31
06 апр. Atsakyti Gaurav 06 Bal 2015-04-06 12:54 '15 at 12:54 2015-04-06 12:54

Tai yra sudėtingesnė problema nei daugelis gali galvoti. Keletas naršyklių palaiko integruotus „JavaScript“ vietovės objektus ir su jais susijusius parametrus / metodus, prieinamus per window.location arba document.location . Tačiau skirtingos „Internet Explorer“ versijos (6,7) nepalaiko šių metodų vienodai ( window.location.replace() ? window.location.replace() nepalaikomas), todėl jūs turite juos nukreipti skirtingai, nurodydami sąlyginį kodą „Internet Explorer“.

Taigi, jei turite ir įkeliate jQuery, galite naudoti ir jQuery (vietą), kaip kiti minėjo, nes jis išsprendžia šias problemas. Vis dėlto, pavyzdžiui, kai kurie kliento pusės geografinės vietos nukreipimai per „JavaScript“ (ty naudojant „Google“ žemėlapių API ir vietovės objekto metodus), tuomet jums nereikės atsisiųsti visos „jQuery“ bibliotekos ir rašyti sąlyginį kodą, kuris tikrina kiekvieną interneto versiją „Explorer“ / „Firefox“ ir tt

„Internet Explorer“ kodavimo kodavimas nepriimtinas, bet jQuery yra pieno plokštelė.

26
12 янв. atsakymas pateikiamas negutron 12 sausis 2011-01-12 23:12 '11 11:12 val. 2011-01-12 23:12

Naudokite tik:

 window.location.hostname 
25
05 окт. Mahmoud Farahat atsakymas, spalio 5 d 2010-10-05 12:50 '10, 12:50, 2010-10-05 12:50

Tai taip pat veiks:

 var currentURL = window.location.href; 
20
26 июля '12 в 9:14 2012-07-26 09:14 atsakymą pateikė Suresh Pattu, liepos 26 d., 12 d., 9:14 val

Galite užregistruoti window.location ir peržiūrėti visus parametrus, tik naudoti URL:

 window.location.origin 

visam naudojimui:

 window.location.href 

taip pat yra vieta .__

 .host .hostname .protocol .pathname 
18
29 нояб. Atsakymas yra dacopenhagen lapkričio 29 d. 2012-11-29 02:11 '12, 2:11 2012-11-29 02:11

java-script suteikia daug būdų, kaip gauti dabartinį URL, kuris rodomas naršyklės adreso juostoje.

Bandymo URL:

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

Funkcija:

 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(); } 
  • protokolas „ Interneto naršyklės naudoja interneto protokolą, vadovaudamosi kai kuriomis duomenų mainų taisyklėmis tarp„ WebHosted “programų ir žiniatinklio kliento (naršyklė) (http = 80 , https (SSL) = 443 , ftp = 21 ir tt)

EX: su numatytais prievado numeriais

 <protocol>//<hostname>:<port>/<pathname><search><hash> https://en.wikipedia.org:443/wiki/Pretty_Good_Privacy http://stackoverflow.com:80/ 
  • (//) „Priimančioji šalis yra pavadinimas, priskirtas galutiniam taškui (mašina, kurioje gyvena išteklius) internete. Www.stackoverflow.com - IP adreso (OR) DNS adresas, vietinis: 8080 - localhost

Domenų pavadinimai, kuriuos registruojate pagal domeno vardo medžio (DNS) taisykles ir procedūras. Asmens, valdančio jūsų domeno IP adresą, DNS serveriai adresavimo tikslais. DNS serverio hierarchijoje stackoverlfow.com šakninis pavadinimas yra com.

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

Vietinėje sistemoje reikia palaikyti domeną, kuris nėra PUBLIC priimančiuose failuose. localhost.yash.com " localhsot - subdomain( web-server ), yash.com - maindomain( Proxy-Server ). myLocalApplication.com 172.89.23.777 ). myLocalApplication.com 172.89.23.777

  • (/) "Kelias suteikia informaciją apie konkretų prieglobos šaltinį, kurį interneto klientas nori pasiekti.
  • (#) "Pasirenkamas fragmentas dažnai yra tam tikro elemento ID atributas, o žiniatinklio naršyklės peržiūrės šį elementą.

Jei parametras yra Epoch ?date=1467708674 tada naudokite.

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

URL 2019

Tai leis absoliuti dabartinio puslapio URL, naudojant „JavaScript“ / „ jQuery“ .

  • document.URL

  • $("*").context.baseURI

  • location.href

14
16 мая '13 в 11:05 2013-05-16 11:05 atsakymą pateikė vartotojo1570636 gegužės 16 d. 13 val. 2013-05-16 11:05

Jei yra kas nors, kuris nori sujungti URL ir maišos žymę, sujunkite dvi funkcijas:

 var pathname = window.location.pathname + document.location.hash; 
12
17 мая '13 в 8:39 2013-05-17 08:39 atsakymas pateikiamas Nis gegužės 17 d., 13 val., 13:39, 2013-05-17 08:39

Turiu tai sumažinti GET kintamuosius.

 var loc = window.location; var currentURL = loc.protocol + '//' + loc.host + loc.pathname; 
11
25 авг. atsakymas, kurį pateikė Aram Kocharyan 25 rug. 2012-08-25 14:35 '12 at 14:35 2012-08-25 14:35

Jei norite gauti pagrindinio >

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

NB: veikia tik viename domene

10
19 мая '13 в 9:01 2013-05-19 09:01 Atsakymą pateikė Costa gegužės 19 d., 13 val
  var currenturl = jQuery(location).attr('href'); 
10
19 нояб. Atsakymą pateikia hari maliya lapkričio 19 d 2012-11-19 10:00 '12 10:00 val. 2012-11-19 10:00

Jūs galite tiesiog gauti savo kelią, naudojant js, window.location arba location suteiks jums dabartinio URL objektą

10
27 июня '17 в 12:42 2017-06-27 12:42 Atsakymą pateikė Mohideen ibn Mohammed , birželio 27 d. 17, 12:42 2017-06-27 12:42

Štai pavyzdys, kaip gauti dabartinį URL naudojant jQuery ir 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); }); 
10
15 мая '14 в 12:57 2014-05-15 12:57 atsakymą pateikė vartotojo3580413 gegužės 15 d., „14, 12:57 2014-05-15 12:57

Naudokite window.location.href . Tai suteiks jums visą URL .

9
01 июля '14 в 12:15 2014-07-01 12:15 atsakymą pateikė Saikumar Anireddy liepos 1 d. 14 d. 12:15 2014-07-01 12:15

Toliau pateikiami naudingų kodo fragmentų, kuriuos galite naudoti, pavyzdžiai. Kai kurie pavyzdžiai naudoja standartines „JavaScript“ funkcijas ir nėra specifinės „jQuery“ funkcijos:

Žr. 8 Naudingi jQuery fragmentai, skirti URL ir laikotarpiams .

9
29 апр. Atsakymą pateikė Issamovitch 29 Bal. 2013-04-29 17:26 '13, 17:26, 2013-04-29 17:26

window.location suteikia jums dabartinį URL , ir iš jo galite išgauti viską, ko norite.

8
19 дек. atsakymą pateikė ZMR BINU gruodžio 19 d. 2011-12-19 13:59 '11, 13:59, 2011-12-19 13:59

Jei norite gauti kelią į pagrindinę svetainę, naudokite:

 $(location).attr('href').replace($(location).attr('pathname'),''); 
7
27 июня '12 в 0:06 2012-06-27 00:06 atsakymą pateikė vikas mehta birželio 27 d. 12 val. 0:06 2012-06-27 00:06

Žr. Jis tikrai padeda ir gali būti naudojamas ir priklausomai nuo jQuery. Naudokite jį taip:

 $.url().param("yourparam"); 
7
03 февр. Atsakymą pateikė Chuanshi Liu, vasario 03 d. 2015-02-03 11:02 '15 at 11:02 2015-02-03 11:02

var path = location.pathname grąžina kelią į dabartinį URL (jQuery nereikia). Būtina naudoti window.location .

7
19 окт. Jonathan Lin atsakymas spalio 19 d 2012-10-19 11:58 '12, 11:58, 2012-10-19 11:58

Labai dažnai naudojamas 3 topas

 1. window.location.hostname 2. window.location.href 3. window.location.pathname 
6
08 сент. Atsakymą pateikė Nitish Kumar Pal 08 Sep. 2017-09-08 08:09 '17 8:09 val. 2017-09-08 08:09
 var newURL = window.location.protocol + "//" + window.location.host + "/" + window.location.pathname; 
5
10 июля '16 в 17:22 2016-07-10 17:22 atsakymą pateikė Hema Ganapathy, liepos 10 d. 16, 17:22 2016-07-10 17:22
 // get current URL $(location).attr('href'); var pathname = window.location.pathname; alert(window.location); 
4
31 мая '16 в 9:58 2016-05-31 09:58 Atsakymą pateikė Ayan Chakraborty gegužės 16 d. 16 val. 09:58 2016-05-31 09:58

Visos naršyklės palaiko „Javascript“ >

Pasauliniai objektai ir funkcijos automatiškai tampa >

Visi pasauliniai kintamieji yra >

Visas HTML dokumentas taip pat yra >

Taigi, galite naudoti window.location objektą, kad gautumėte visus su URL susietus atributus.

„Javascript“

 console.log("host = "+$(location).attr('host')); console.log("hostname = "+$(location).attr('hostname')); console.log("path = "+$(location).attr('path')); console.log("href = "+$(location).attr('href')); console.log("port = "+$(location).attr('port')); console.log("protocol = "+$(location).attr('protocol')); 
4
10 окт. Šį atsakymą pateikė Sumesh TG spalio 10 d. 2018-10-10 13:23 18 m

Jstl, mes galime pasiekti dabartinį URL naudojant pageContext.request.contextPath jei norite skambinti „ajax“,

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

Pavyzdžiui: http://stackoverflow.com/questions/406192 tai suteiks http://stackoverflow.com/controller/path

3
12 апр. Maleen Abewardana atsakymas balandžio 12 d 2016-04-12 18:12 '16 at 18:12 pm 2016-04-12 18:12

Kiti klausimai apie etiketes arba Užduoti klausimą