ජාවාස්ක්‍රිප්ට් සමඟ වත්මන් URL ලබා ගන්න?


3011

මට අවශ්‍ය වන්නේ වෙබ් අඩවි URL ලබා ගැනීමයි. සබැඳියකින් ගත් URL නොවේ. පිටු පූරණය කිරීමේදී වෙබ් අඩවියේ සම්පූර්ණ, වර්තමාන URL එක අල්ලාගෙන මට අවශ්‍ය පරිදි එය විචල්‍යයක් ලෙස සකසා ගත යුතුය.



Answers:


3693

භාවිත:

window.location.href 

අදහස් දැක්වීමේදී, පහත පේළිය ක්‍රියා කරයි, නමුත් එය ෆයර්ෆොක්ස් සඳහා දෝෂ සහිතය.

document.URL;

කියවීමට පමණක් DOMString වර්ගයේ URL බලන්න .


142
ෆයර්ෆොක්ස් 12 හි document.URLදේපල window.locationනැංගුරමකට (#) පසු යාවත්කාලීන window.location.hrefනොවේ. මම මෙහි සජීවී නිරූපණයක් ඉදිරිපත් කර ඇත්තෙමි : jsfiddle.net/PxgKy මම ෆයර්ෆොක්ස් හි වෙනත් අනුවාදයන් අත්හදා බැලුවේ නැත. document.URLChrome 20 සහ IE9 හි භාවිතා කිරීමේ ගැටළු කිසිවක් හමු නොවීය.
ටෙල්මෝ මාර්ක්ස්

88
ඔබට සත්කාරක සහ පැහැදිලි ස්ථානයක් ලබා ගත හැකිය: window.location.hostසහwindow.location.href.toString().split(window.location.host)[1]
ali youhannaei

8
document.baseURIඑතකොට මොකද වෙන්නේ . මූලික වශයෙන් url එක ලබා ගැනීමට ක්රම 3 ක් ඇත document.baseURI, document.URL, සහ location.
මුහම්මද් උමර්

20
-1: ඔබට රාමුවක්, රූපයක් හෝ ආකෘතියක් තිබේ name="URL"නම් මෙම දේපල documentවස්තුව මත සෙවනැලි වන අතර ඔබේ කේතය කැඩී යනු ඇත. එවැනි අවස්ථාවක, document.URLඒ වෙනුවට DOM නෝඩය වෙත යොමු වේ. ගෝලීය වස්තුවෙහි ගුණාංග භාවිතා කිරීමට වඩා හොඳය window.location.href.
රෝයි ටින්කර්

13
ජයග්‍රහණය සඳහා "window.location.href"
ගේබ්‍රියෙල් බී

664

URL තොරතුරු ප්‍රවේශය

ජාවාස්ක්‍රිප්ට් මඟින් බ්‍රව්සරයේ ලිපින තීරුවේ දර්ශනය වන වත්මන් URL ලබා ගැනීමට සහ වෙනස් කිරීමට බොහෝ ක්‍රම සපයයි. මෙම සියලු ක්‍රම Locationවස්තුව භාවිතා කරයි , එය වස්තුවේ දේපළකි Window. ඔබට Locationපහත දැක්වෙන පරිදි වත්මන් URL ඇති නව වස්තුවක් නිර්මාණය කළ හැකිය :

var currentLocation = window.location;

මූලික URL ව්‍යුහය

<protocol>//<hostname>:<port>/<pathname><search><hash>
  • ප්‍රොටෝකෝලය: අන්තර්ජාලයේ ඇති සම්පතට ප්‍රවේශ වීම සඳහා භාවිතා කළ යුතු ප්‍රොටෝකෝලයෙහි නම සඳහන් කරයි. (HTTP (SSL නොමැතිව) හෝ HTTPS (SSL සමඟ))

  • ධාරක නාමය: ධාරක නාමය සම්පත හිමි ධාරකය නියම කරයි. උදාහරණයක් ලෙස , www.stackoverflow.com. සේවාදායකයක් සත්කාරකයේ නම භාවිතා කරමින් සේවාවන් සපයයි.

  • වරාය: සේවාදායකයක් වෙත පැමිණෙන විට අන්තර්ජාලය හෝ වෙනත් ජාල පණිවිඩයක් යොමු කළ යුතු නිශ්චිත ක්‍රියාවලියක් හඳුනා ගැනීමට භාවිතා කරන වරාය අංකය.

  • pathname: වෙබ් සේවාදායකයාට ප්‍රවේශ වීමට අවශ්‍ය ධාරකය තුළ ඇති නිශ්චිත සම්පත පිළිබඳ තොරතුරු මාර්ගය සපයයි. උදාහරණයක් ලෙස , /index.html.

  • සෙවීම: විමසුම් දාමයක් මාර්ග සං component ටකය අනුගමනය කරන අතර සම්පත යම් අරමුණක් සඳහා භාවිතා කළ හැකි තොරතුරු මාලාවක් සපයයි (නිදසුනක් ලෙස, සෙවුමක පරාමිතීන් ලෙස හෝ සැකසීමට දත්ත ලෙස).

  • hash: URL එකක නැංගුරම් කොටසට (#) හැෂ් ලකුණ ඇතුළත් වේ.

මෙම Locationවස්තු ගුණාංග සමඟ ඔබට මෙම සියලු URL සංරචක වෙත පිවිසිය හැකි අතර ඒවාට සැකසිය හැකි හෝ ආපසු ලබා දිය හැකි දේ:

  • href - සම්පූර්ණ URL එක
  • ප්‍රොටෝකෝලය - URL හි ප්‍රොටෝකෝලය
  • ධාරකය - URL හි ධාරක නාමය සහ වරාය
  • ධාරක නාමය - URL හි ධාරක නාමය
  • port - URL එක සඳහා සේවාදායකය භාවිතා කරන වරාය අංකය
  • pathname - URL හි මාර්ග නාමය
  • සෙවීම - URL හි විමසුම් කොටස
  • hash - URL හි නැංගුරම් කොටස

මම හිතනවා ඔයාට ඔයාගේ පිළිතුර ලැබුණා කියලා ..


7
ඒවා “ක්‍රම” window.locationනොව ගුණාංග, මෙහි අපට උදාහරණයක් ඇත : var stringPathName = window.location.pathname.
පීටර් ක්‍රවුස්

Ab ෆැබියෝ සී. ඔබට එය ඉවත් කළ හැකිය substring. කෙසේ වෙතත්, ඔබට හරවා යැවීමට භාවිතා කිරීමට අවශ්‍ය විට එය ප්‍රයෝජනවත් විය හැකියdocument.location = "/page.html";page.html
FindOut_Quran

1
මෙය පිළිතුරු සැපයූ ප්‍රශ්නයට වඩා පිළිතුරු සපයයි. ඇත්ත වශයෙන්ම, මම බොහෝ විට මාසයකට පමණ පෙර URL නූලෙන් විශේෂිත කොටස් එකක් හෝ කිහිපයක් ලබා ගැනීමට හොඳ ක්‍රමයක් සෙව්වෙමි (මම සිතන්නේ එය බොහෝ විට මම ලබා ගැනීමට උත්සාහ කළ වත්මන් පිටුව විය හැකිය), සහ වෙනත් ප්‍රශ්න වැඩි වුවද ඉලක්ක, ඔවුන්ගේ පිළිතුරු මේ සඳහා තරම් ප්‍රයෝජනවත් හා සරල නොවීය.
Panzercrisis

1
එක් ඉක්මන් යෝජනාවක් වුවද: ඉහත විස්තර කර ඇති මූලික URL ව්‍යුහය සඳහා ස්ථානයක් තිබේ search, නමුත් පහත විස්තර ලැයිස්තුවේ එය a ලෙස හැඳින්වේ query. එක්කෝ ඒවා සමථයකට පත් කළ හැකිය, නැතහොත් වැඩිදුර පැහැදිලි කිරීම් එකතු කළ හැකිය.
Panzercrisis

1
එය 'සෙවීම' නොව 'විමසුම' ලෙස හැඳින්වේ
ඇපලෝ දත්ත

320

වත්මන් රාමුවට සම්බන්ධ ස්ථාන වස්තුවwindow.location වෙත කියවීමට හා ලිවීමට ප්‍රවේශය සඳහා භාවිතා කරන්න . ඔබට ලිපිනය කියවීමට පමණක් ඇති නූලක් ලෙස ලබා ගැනීමට අවශ්‍ය නම්, ඔබට භාවිතා කළ හැකිය , එහි වටිනාකම සමාන විය යුතුය .document.URLwindow.location.href



264

වත්මන් පිටු URL ලබා ගනී:

window.location.href

3
එය කවුළුවේ පිහිටීම ලේඛනයේ නොවන බව සලකන්න.
ගුම්බෝ

16
එය එකම දෙයකි. සම්පූර්ණ වත්මන් URL ය ලේඛන ලේඛනයට (බාහිර ලිපිනය) යොමු කරයි.
සනෝනි

2
එය document.url මෙන් ප්‍රමිතිගත වී තිබේද? (මා අදහස් කළේ w3c ලේඛනයක් වැනි දෙයක්)
chendral

documentයනු පිරිවිතරයෙන් අර්ථ දක්වා ඇති ලේඛන ගසෙහි මුල වේ. windowසාමාන්‍යයෙන් සමාන නමුත් එය සමහර අමුතු අවස්ථාවන්හි නොවිය හැකිය.
broinjc

57

හරි, වත්මන් පිටුවේ සම්පූර්ණ URL එක ලබා ගැනීම පිරිසිදු ජාවාස්ක්‍රිප්ට් භාවිතයෙන් පහසුය. උදාහරණයක් ලෙස, මෙම පිටුවේ මෙම කේතය උත්සාහ කරන්න:

window.location.href;
// use it in the console of this page will return
// http://stackoverflow.com/questions/1034621/get-current-url-in-web-browser"

මෙම window.location.hrefදේපල වත්මන් පිටුවේ URL පැමිණේ.

document.getElementById("root").innerHTML = "The full URL of this page is:<br>" + window.location.href;
<!DOCTYPE html>
<html>

<body>
  <h2>JavaScript</h2>
  <h3>The window.location.href</h3>
  <p id="root"></p>
</body>

</html>

මේවා සඳහන් කිරීම නරක නැත:

  • ඔබට සාපේක්ෂ මාර්ගයක් අවශ්‍ය නම් සරලව භාවිතා කරන්න window.location.pathname;

  • ඔබ සත්කාරක නාමය ලබා ගැනීමට කැමති නම්, ඔබට භාවිතා කළ හැකිය window.location.hostname;

  • ඔබට ප්‍රොටෝකෝලය වෙන වෙනම ලබා ගැනීමට අවශ්‍ය නම් භාවිතා කරන්න window.location.protocol

    • එසේම, ඔබේ පිටුවට hashටැග් තිබේ නම් , ඔබට එය ලබා ගත හැකිය : window.location.hash.

එබැවින් window.location.hrefසියල්ල එකවර හසුරුවයි ... මූලික වශයෙන්:

window.location.protocol + '//' + window.location.hostname + window.location.pathname + window.location.hash === window.location.href;
    //true

windowකවුළු විෂය පථයේ දැනටමත් භාවිතා කිරීම අවශ්‍ය නොවේ ...

එබැවින්, එවැනි අවස්ථාවක, ඔබට භාවිතා කළ හැකිය:

location.protocol

location.hostname

location.pathname

location.hash

location.href

ජාවාස්ක්‍රිප්ට් සමඟ වත්මන් URL ලබා ගන්න


window.location.protocol + '//' + window.location.hostname + window.location.pathname + window.location.hash === window.location.href; සැමවිටම සත්‍ය නොවේ! window.location.pathname හි GET පරාමිතීන් නොමැත.
AssassiN

40

මාර්ගය ලබා ගැනීම සඳහා, ඔබට මෙය භාවිතා කළ හැකිය:

console.log('document.location', document.location.href);
console.log('location.pathname',  window.location.pathname); // Returns path only
console.log('location.href', window.location.href); // Returns full URL


35

විවෘත සංවර්ධන මෙවලම් , තුළ පහත සඳහන් දී වර්ගය කොන්සෝලය සහ මාධ්ය ඇතුල් කරන්න .

window.location

උදා: වත්මන් පිටුවේ ප්‍රති result ලයේ තිර රුව පහත දැක්වේ.

රූප විස්තරය මෙහි ඇතුළත් කරන්න

ඔබට අවශ්‍ය දේ මෙතැනින් ලබා ගන්න. :)


29

භාවිතා කරන්න : window.location.href.

ඉහත සඳහන් කළ පරිදි, document.URL යාවත්කාලීන කිරීමේදී යාවත්කාලීන නොවේ window.location. MDN බලන්න .


21
  • window.location.hrefසම්පූර්ණ URL ලබා ගැනීමට භාවිතා කරන්න .
  • window.location.pathnameධාරකයෙන් ඉවත්ව URL ලබා ගැනීමට භාවිතා කරන්න .

4
window.location.pathname හි විමසුම සහ හැෂ් කැබැල්ල ඇතුළත් නොවේ
OMGPOP


10
var currentPageUrlIs = "";
if (typeof this.href != "undefined") {
       currentPageUrlIs = this.href.toString().toLowerCase(); 
}else{ 
       currentPageUrlIs = document.location.toString().toLowerCase();
}

ඉහත කේතය යමෙකුට උපකාර කළ හැකිය


2
ඔබ එය සත්‍ය වශයෙන්ම වෙනස් කරන url වෙත .toLowerCase () යෙදුවා. සමහර සේවාදායකයන් සිද්ධි සංවේදී වේ, (ලිනක්ස්, ආදිය ...)
ඇන්තනිවෝ

ඔබ වාචිකව window.href භාවිතා කළ යුතුය. මෙම කේතය ක්‍රියාත්මක වන්නේ මෙම === කවුළුවේ සන්දර්භය තුළ පමණි, කෙසේ වෙතත් එය සැමවිටම එසේ නොවිය හැකිය, විශේෂයෙන් යමෙකු මෙම විසඳුම අලවා ඇත්නම්.
deadboy

එය සිද්ධි සංවේදී වන "සමහර" සේවාදායකයන් නොවේ. එය බොහෝ සේවාදායකයන් ය. එබැවින් මම ඇන්තනිවෝ සමඟ එකඟ වෙමි: URL හි සිද්ධිය වෙනස් කිරීම ඉතා නරක අදහසකි.
mivk

ඔබට යූආර්එල් එකක් බිඳ දැමිය නොහැකි බවට සහතික විය හැකිය. Url නම් http://www.server.com/path/to/Script.php?option=A1B2C3, ගොනු පද්ධතිය සිද්ධි සංවේදී නම් (ලිනක්ස් / යුනික්ස්) අවශ්‍ය නොවේ Script.php සහ script.php එක සමාන වේ. සිද්ධි සංවේදී නොවුනත් (වින්ඩෝස්, සමහර මැක් ඕස්) ?option=A1B2C3සමාන ?option=a1b2c3හෝ සමාන නොවේ ?Option=A1B2C3. සිද්ධි සංවේදී නොවන සේවාදායකය පමණි: www.server.com හෝ www.SeRvEr.cOm එක සමාන වේ.
ෆ්‍රැන්චෙස්කෝඑම්එම්

8

ඉක්මන් යොමු කිරීම සඳහා ප්‍රති result ල එකතු කිරීම

window.location;

 Location {href: "/programming/1034621/get-the-current-url-with-javascript",
 ancestorOrigins: DOMStringList,
 origin: "https://stackoverflow.com",
 replace: ƒ, assign: ƒ, …}

document.location

  Location {href: "/programming/1034621/get-the-current-url-with-javascript", 
ancestorOrigins: DOMStringList,
 origin: "https://stackoverflow.com",
 replace: ƒ, assign: ƒ
, …}

window.location.pathname

"/questions/1034621/get-the-current-url-with-javascript"

window.location.href

"/programming/1034621/get-the-current-url-with-javascript"

location.hostname

"stackoverflow.com"

7

විමසුම් නූල් සහිත සම්පූර්ණ URL සඳහා:

document.location.toString().toLowerCase();

ධාරක URL සඳහා:

window.location

11
ඔබ එය සත්‍ය වශයෙන්ම වෙනස් කරන url වෙත .toLowerCase () යෙදුවා. සමහර සේවාදායකයන් සිද්ධි සංවේදී වේ, (ලිනක්ස්, ආදිය ...)
ඇන්තනිවෝ

පවසා ඇති පරිදි, ඔබට URL එකක් බිඳ දැමිය නොහැකි බවට සහතික විය හැකිය. Url යනු server.com/path/to/Script.php?option=A1B2C3 නම්, ගොනු පද්ධතිය සිද්ධි සංවේදී නම් (ලිනක්ස් / යුනික්ස්) අවශ්‍ය නොවේ Script.php සහ script.php එක සමාන වේ. සිද්ධි සංවේදී නොවුනත් (වින්ඩෝස්, සමහර මැක් ඕස්) ,? Option = A1B2C3? Option = a1b2c3, හෝ? Option = A1B2C3 ට සමාන නොවේ. සිද්ධි සංවේදී නොවන සේවාදායකය පමණි: www.server.com හෝ www.SeRvEr.cOm එක සමාන වේ.
ෆ්‍රැන්චෙස්කෝඑම්එම්

මෙය පෙන්වා දීම ගැන ඇන්තනිවෝට ස්තූතියි. සම්පූර්ණ URL ලබා ගැනීම සඳහා අපට භාවිතා කළ හැක්කේ document.location.toString () පමණි. toLowerCase () යනු ඔබේ ස්ක්‍රිප්ටයේ දර්ශක ඕෆ් මෙන් සැසඳීමයි.
සයිඩ් නසීර් අබ්බාස්

4

Jstl හි අපට වර්තමාන URL මාර්ගයට පිවිසිය හැකිය pageContext.request.contextPath. ඔබට අජැක්ස් ඇමතුමක් කිරීමට අවශ්‍ය නම්, පහත URL භාවිතා කරන්න.

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

උදාහරණය: පිටුව සඳහා http://stackoverflow.com/posts/36577223මෙය ලබා දෙනු http://stackoverflow.com/controller/pathඇත.


4

වත්මන් ස්ථාන වස්තුව ලබා ගත හැකි ක්‍රමයයි window.location.

මෙය සසඳන්න document.location, එය මුලින් ලබා දුන්නේ වත්මන් URL ය. ව්යාකූලත්වය වළක්වා ගැනීම සඳහා, document.locationප්රතිස්ථාපනය විය document.URL.

තවද, සියලුම නවීන බ්‍රව්සර් සිතියම් ගත document.locationකරයි window.location.

යථාර්ථයේ දී, හරස් බ්‍රව්සර් ආරක්ෂාව සඳහා, ඔබ භාවිතා කළ යුත්තේ ඒ window.locationවෙනුවට ය document.location.


4

නිඛිල් අග්‍රවාල්ගේ පිළිතුර විශිෂ්ටයි, මෙහි කුඩා උදාහරණයක් එකතු කිරීමෙන් ඔබට ක්‍රියාකාරීත්වයේ විවිධ අංග දැක බලා ගැනීමට කොන්සෝලය තුළ කළ හැකිය:

රූප විස්තරය මෙහි ඇතුළත් කරන්න

ඔබට මාර්ගයක් හෝ විමසුම් පරාමිතියක් නොමැතිව මූලික URL අවශ්‍ය නම් (නිදසුනක් ලෙස සංවර්ධන / වේදිකා සහ නිෂ්පාදන සේවාදායකයන් දෙකෙහිම වැඩ කිරීමට එරෙහිව AJAX ඉල්ලීම් කිරීමට), window.location.originඑය ප්‍රොටෝකෝලය මෙන්ම විකල්ප වරායද තබා ගන්නා බැවින් වඩාත් සුදුසුය (ජැන්ගෝ සංවර්ධනයේදී, ඔබ සමහර විට සම්මත නොවන වරායක් තිබීම ඔබ සත්කාරක නාමය ආදිය භාවිතා කරන්නේ නම් එය බිඳ දමයි.)



0
   location.origin+location.pathname+location.search+location.hash;

0

ඔබට වත්මන් පිටුවේ සම්පූර්ණ සබැඳිය ලබා ගත හැකි location.href අතර වත්මන් පාලකයේ සබැඳිය ලබා ගැනීමට, භාවිතා කරන්න:

location.href.substring(0, location.href.lastIndexOf('/'));

0

ජාවාස්ක්‍රිප්ට් සමඟ වත්මන් URL ලබා ගැනීම:

  • window.location.toString ();

  • window.location.href


0

ඔබ හැඳුනුම්පතක් ඇති විශේෂිත සබැඳියක් ගැන සඳහන් කරන්නේ නම් මෙම කේතය ඔබට උදව් වනු ඇත.

$(".disapprove").click(function(){
    var id = $(this).attr("id");

    $.ajax({
        url: "<?php echo base_url('index.php/sample/page/"+id+"')?>",
        type: "post",
        success:function()
        {
            alert("The Request has been Disapproved");
            window.location.replace("http://localhost/sample/page/"+id+"");
        }
    });
});

හැඳුනුම්පතක් ඉදිරිපත් කිරීමට සහ window.location.replace භාවිතා කර පිටුව හරවා යැවීමට මම මෙහි අජැක්ස් භාවිතා කරමි . සඳහන් කළ පරිදි ගුණාංගයක් එක් කරන්න id="".



-2

පළමුවෙන්ම පිටුව පුරවා ඇත්දැයි පරීක්ෂා කරන්න

browser,window.location.toString();

window.location.href

ඉන්පසු url, URL විචල්‍යය සහ කොන්සෝලය මත මුද්‍රණය කරන ශ්‍රිතයක් අමතන්න,

$(window).load(function(){
   var url = window.location.href.toString();
   var URL = document.URL;
   var wayThreeUsingJQuery = $(location).attr('href');
   console.log(url);
   console.log(URL);
   console.log(wayThreeUsingJQuery );
});
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.