මම jQuery භාවිතා කරමි. වත්මන් URL හි මාර්ගය ලබාගෙන එය විචල්යයකට පවරන්නේ කෙසේද?
උදාහරණ URL:
http://localhost/menuname.de?foo=bar&number=0
මම jQuery භාවිතා කරමි. වත්මන් URL හි මාර්ගය ලබාගෙන එය විචල්යයකට පවරන්නේ කෙසේද?
උදාහරණ URL:
http://localhost/menuname.de?foo=bar&number=0
Answers:
මාර්ගය ලබා ගැනීම සඳහා, ඔබට මෙය භාවිතා කළ හැකිය:
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');
ස්ථාන වස්තුවට ධාරක, හැෂ්, ප්රොටෝකෝලය සහ මාර්ග නාමය වැනි වෙනත් ගුණාංග ද ඇත.
.attr()
ස්ථානය මත කළ නොහැකි විය යුතුය . (1) එය මූලද්රව්යයක් නොවේ, එබැවින් $(location)
සෙවනැලි වේ, සහ (2) එය ක්රියාත්මක වුවද, .prop()
දේපල ලබා ගැනීම සඳහා ඔබ භාවිතා කළ යුතුය . .attr()
HTML ගුණාංග සඳහා වේ.
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>
/index.php
වෙනුවට විය යුතුය index.php
.
attr
HTML ගුණාංග භාවිතයෙන් සැකසිය හැකි දේවල් සඳහා DOM වස්තු මත පමණක් භාවිතා කළ යුතුය.
ඔබට URL හි ඇති හැෂ් පරාමිතීන් අවශ්ය නම්, window.location.href
වඩා හොඳ තේරීමක් විය හැකිය.
window.location.pathname
=> /search
window.location.href
=> www.website.com/search#race_type=1
window.location.hash
ඔබට ජාවාස්ක්රිප්ට් හි සාදන ලද window.location
වස්තුව භාවිතා කිරීමට අවශ්ය වනු ඇත .
window.location.pathname
පසු කිසිවක් සොයා ගැනීමට නොහැකි වන්නේ?
ජාවාස්ක්රිප්ට් හි මෙම ශ්රිතය එක් කරන්න, එවිට එය වත්මන් මාවතේ නිරපේක්ෂ මාර්ගය ලබා දෙනු ඇත.
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));
}
එය ඔබට ප්රයෝජනවත් වේ යැයි මම බලාපොරොත්තු වෙමි.
var pathName = loc.pathname.substring(0, loc.pathname.lastIndexOf('/'));
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
windo.location.origin
?
මෙය බොහෝ දෙනා සිතනවාට වඩා සංකීර්ණ කාරණයක්. වෙබ් බ්රව්සර කිහිපයක් බිල්ට් හරහා ප්රවේශ JavaScript ස්ථානය වස්තූන් හා ආශ්රිත පරාමිතීන් / ක්රම සහාය window.location
හෝ document.location
. කෙසේ වෙතත්, ඉන්ටර්නෙට් එක්ස්ප්ලෝරර් (6,7) හි විවිධ රසයන් මෙම ක්රම වලට එකම ආකාරයකින් සහාය නොදක්වයි , ( window.location.href
? window.location.replace()
සහය නොදක්වයි) එබැවින් ඔබට ඉන්ටර්නෙට් එක්ස්ප්ලෝරර් අතේ තබා ගැනීම සඳහා කොන්දේසි සහිත කේත ලිවීමෙන් වෙනස් ආකාරයකින් ප්රවේශ විය යුතුය.
එබැවින්, ඔබට jQuery ලබා ගත හැකි සහ පටවා ඇත්නම්, අනෙක් අය සඳහන් කළ පරිදි ඔබට jQuery (ස්ථානය) භාවිතා කළ හැකිය, මන්ද එය මෙම ගැටළු නිරාකරණය කරන බැවිනි. කෙසේ වෙතත්, ඔබ කරන්නේ - උදාහරණයක් ලෙස - ජාවාස්ක්රිප්ට් හරහා සමහර සේවාදායක පාර්ශවීය භූ ස්ථානගත කිරීම් යළි හරවා යැවීම (එනම්, ගූගල් සිතියම් ඒපීඅයි සහ ස්ථාන වස්තු ක්රම භාවිතා කිරීම), එවිට ඔබට සම්පූර්ණ jQuery පුස්තකාලය පූරණය කර ඔබේ කොන්දේසි සහිත කේතය ලිවීමට අවශ්ය නොවනු ඇත. ඉන්ටර්නෙට් එක්ස්ප්ලෝරර් / ෆයර්ෆොක්ස් / යනාදී සෑම අනුවාදයක්ම පරික්ෂා කරයි.
ඉන්ටර්නෙට් එක්ස්ප්ලෝරර් ඉදිරිපස කේතීකරණ බළලා අසතුටට පත් කරයි, නමුත් jQuery යනු කිරි පිඟානකි.
ධාරක නාමය සඳහා පමණක් භාවිතා කරන්න:
window.location.hostname
ජාවා-ස්ක්රිප්ට් බ්රව්සරයේ ලිපින තීරුවේ දර්ශනය වන වත්මන් 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();
}
උදා: පෙරනිමි වරාය අංක සමඟ
<protocol>//<hostname>:<port>/<pathname><search><hash>
https://en.wikipedia.org:443/wiki/Pretty_Good_Privacy
http://stackoverflow.com:80/
වසම් නාම යනු ඔබ වසම් නාම පද්ධතියේ (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
පරාමිතියට යුගයක් තිබේ ?date=1467708674
නම් භාවිතා කරන්න.
var epochDate = 1467708674; var date = new Date( epochDate );
පරිශීලක නාමය සහිත සත්යාපන url: මුරපදය, usernaem / මුරපදයේ @ සංකේතය
වැනි නම්:
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 (-_.!~*')
*/
මෙයද ක්රියාත්මක වනු ඇත:
var currentURL = window.location.href;
URL භාවිතය සඳහා ඔබට window.location වෙත පිවිස සියලු විකල්ප දැක ගත හැකිය:
window.location.origin
සම්පූර්ණ මාර්ග භාවිතය සඳහා:
window.location.href
ස්ථානයක් ද ඇත. _ _
.host
.hostname
.protocol
.pathname
යූආර්එල් සහ හැෂ් ටැගය සංයුක්ත කිරීමට අවශ්ය අයෙක් සිටී නම් , කාර්යයන් දෙකක් ඒකාබද්ධ කරන්න:
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');
JQuery සහ JavaScript භාවිතයෙන් වත්මන් URL ලබා ගැනීමට උදාහරණයක් මෙන්න:
$(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);
});
පහත දැක්වෙන්නේ භාවිතා කළ හැකි ප්රයෝජනවත් කේත ස්නිපෙට් සඳහා උදාහරණ වේ - සමහර උදාහරණ සම්මත ජාවාස්ක්රිප්ට් කාර්යයන් භාවිතා කරන අතර jQuery සඳහා විශේෂිත නොවේ:
Window.location.href භාවිතා කරන්න . මෙය ඔබට සම්පූර්ණ URL ලබා දෙනු ඇත .
Purl.js බලන්න . මෙය සැබවින්ම උපකාරී වන අතර jQuery මත පදනම්ව භාවිතා කළ හැකිය. එය මේ ආකාරයට භාවිතා කරන්න:
$.url().param("yourparam");
ඔබට මූල අඩවියේ මාර්ගය ලබා ගැනීමට අවශ්ය නම්, මෙය භාවිතා කරන්න:
$(location).attr('href').replace($(location).attr('pathname'),'');
.replace('#.*', '')
? හැෂ් සලකුණ පමණක් නොව ඊට පසු සියල්ල ඉවත් කරන්න?
ඉතා බහුලව භාවිතා වන ඉහළම 3 ඒවා වේ
1. window.location.hostname
2. window.location.href
3. window.location.pathname
var path = location.pathname
වත්මන් URL හි මාර්ගය නැවත ලබා දෙයි (jQuery අවශ්ය නොවේ). භාවිතය window.location
විකල්පයකි.
සියලුම බ්රව්සර් ජාවාස්ක්රිප්ට් කවුළු වස්තුවට සහය දක්වයි. එය බ්රව්සරයේ කවුළුව අර්ථ දක්වයි.
ගෝලීය වස්තූන් සහ කාර්යයන් ස්වයංක්රීයව කවුළු වස්තුවෙහි කොටසක් බවට පත්වේ.
සියලුම ගෝලීය විචල්යයන් කවුළු වස්තු ගුණාංග වන අතර සියලුම ගෝලීය කාර්යයන් එහි ක්රම වේ.
මුළු HTML ලේඛනයම කවුළු දේපලකි.
එබැවින් ඔබට url සම්බන්ධ සියලු ගුණාංග ලබා ගැනීමට window.location වස්තුව භාවිතා කළ හැකිය.
ජාවාස්ක්රිප්ට්
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>
location.pathname
ඔබ භාවිතා location.path
කරන්නේ කොතැනදැයි මට පෙනේ - මෙම පිළිතුර යාවත්කාලීන කළ යුතුද?
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
ඇමතුමක් කිරීමට අවශ්ය නම්,
url = "${pageContext.request.contextPath}" + "/controller/path"
උදා: පිටුවේ http://stackoverflow.com/questions/406192
මෙය ලබා දෙනු ඇතhttp://stackoverflow.com/controller/path