मैं jQuery का उपयोग कर रहा हूँ। मैं वर्तमान URL का पथ कैसे प्राप्त करूं और इसे किसी चर में निर्दिष्ट करूं?
उदाहरण URL:
http://localhost/menuname.de?foo=bar&number=0
मैं 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');
स्थान ऑब्जेक्ट में अन्य गुण भी होते हैं, जैसे होस्ट, हैश, प्रोटोकॉल और पाथनाम।
.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('/'));
javascript में window.location एक ऑब्जेक्ट है। यह डेटा का अनुसरण करता है
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
?
यह अधिक जटिल मुद्दा है जितना कि कई लोग सोच सकते हैं। कई ब्राउज़र अंतर्निहित जावास्क्रिप्ट स्थान ऑब्जेक्ट्स और संबंधित पैरामीटर / विधियों के माध्यम से सुलभ window.location
या समर्थन करते हैं document.location
। हालांकि, Internet Explorer (6.7) के विभिन्न जायके उसी तरह से इन तरीकों का समर्थन नहीं करते, ( window.location.href
? window.location.replace()
समर्थित नहीं) ताकि आप उन्हें उपयोग करने के लिए है अलग ढंग से सशर्त कोड सभी हाथ से पकड़ इंटरनेट एक्सप्लोरर के लिए समय लिख कर।
इसलिए, यदि आपके पास jQuery उपलब्ध है और लोड किया गया है, तो आप jQuery (स्थान) का उपयोग कर सकते हैं, जैसा कि दूसरों ने उल्लेख किया है क्योंकि यह इन मुद्दों को हल करता है। यदि फिर भी, आप जावास्क्रिप्ट के माध्यम से उदाहरण के लिए कुछ क्लाइंट साइड जियोलोकेशन रीडायरेक्शन कर रहे हैं (जो कि, Google मैप्स एपीआई और स्थान ऑब्जेक्ट विधियों का उपयोग करके) है, तो हो सकता है कि आप संपूर्ण jQuery लाइब्रेरी लोड न करें और अपना सशर्त कोड लिखें इंटरनेट एक्सप्लोरर / फ़ायरफ़ॉक्स / आदि के हर संस्करण की जाँच करता है।
इंटरनेट एक्सप्लोरर फ्रंट-एंड कोडिंग कैट को दुखी करता है, लेकिन jQuery दूध की एक प्लेट है।
केवल होस्ट नाम के लिए, उपयोग करें:
window.location.hostname
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();
}
EX: डिफ़ॉल्ट पोर्ट नंबर के साथ
<protocol>//<hostname>:<port>/<pathname><search><hash>
https://en.wikipedia.org:443/wiki/Pretty_Good_Privacy
http://stackoverflow.com:80/
डोमेन नाम वे होते हैं जिन्हें आप डोमेन नेम सिस्टम (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
यदि पैरामीटर में एक युग है ?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
मुझे यह 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);
यहाँ jQuery और जावास्क्रिप्ट का उपयोग करके वर्तमान 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 के लिए विशिष्ट नहीं हैं:
URL & Querystrings के लिए 8 उपयोगी 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
, यदि आप ajax कॉल करना चाहते हैं,
url = "${pageContext.request.contextPath}" + "/controller/path"
Ex: पेज में http://stackoverflow.com/questions/406192
यह देगाhttp://stackoverflow.com/controller/path