Location
location ობიექტი გამოიყენება ვებგვერდის მისამართის (URL) მანიპულაციისთვის. ობიექტის გამოყენება შესაძლებელია, როგორც window-დან, ასევე document-დანაც.
Location-ის ანატომია
გადაატარეთ (ან დააკლიკეთ) მაუსი მისამართზე ან თვისებაზე, რომ გაფერადდეს შესაბამისი ნაწილი.
თვისებები
http://localhost:4200/doc/guides/javascript/window/locationhref
href თვისება განსაზღვრავს, სრულ URL-ს და გვაძლევს შესაძლებლობას, რომ განვაახლოთ ვებგვერდის მისამართი.
const currentHref = location.href; // window.location.href-ც სწორია
console.log(currentHref); // 'https://iswavle.com/doc/guides/javascript/window/location'
location.href = 'https://everrest.educata.dev'; // გადაგვამისამართებს https://everrest.educata.dev მისამართზეprotocol
protocol თვისება განსაზღვრავს URL-ის პროტოკოლს ':'-ის ჩათვლით.
console.log(location.protocol); // 'https:'host
host თვისება განსაზღვრავს ჰოსტის სახელს პორტის ჩათვლით.
console.log(location.host); // 'iswavle.com'
console.log(location.host); // 'localhost:4200' თუ ლოკალზე გავხსნითhostname
hostname თვისება განსაზღვრავს ჰოსტის სახელს პორტის გარეშე.
console.log(location.hostname); // 'iswavle.com'
console.log(location.hostname); // 'localhost' თუ ლოკალზე გავხსნითport
port თვისება განსაზღვრავს პორტის მნიშვნელობას. თუ პორტი არ არის URL-ში, მაშინ დააბრუნებს undefined.
console.log(location.port); // undefined
console.log(location.port); // '4200' თუ ლოკალზე გავხსნითpathname
pathname თვისება განსაზღვრავს URL-ში არსებული path-ის მნიშვნელობას.
console.log(location.pathname); // '/doc/guides/javascript/window/location'search
search თვისება განსაზრავს URL-ში ცვლადების ნაწილს. თუ '?' არ არის გამოყენებული, მაშინ მნიშვნელობა undefined იქნება.
location.href += '?search=ანატომია'; // ვებგვერდზე დავუმატოთ ცვლადი
console.log(location.search); // '?search=ანატომია'hash
hash თვისება განსაზღვრავს URL-ში არსებული ფრაგმენტის მნიშვნელობას. თუ '#' არ არის გამოყენებული, მაშინ მნიშვნელობა undefined იქნება.
location.href += '#Location_ანატომიაა'; // ვებგვერდზე დავუმატოთ ფრაგმენტის მნიშვნელობა
console.log(location.hash); // '#Location_ანატომია'href თვისების.მეთოდები
assign
assign მეთოდი ღებულობს ერთ პარამეტრს და აბრუნებს არაფერს.
გადაცემული პარამეტრის მიხედვით მოხდება შესაბამის URL-ზე ნავიგაცია.
პარამეტრი შეიძლება იყოს როგორც absolute (მაგალითად https://iswavle.com/guides/javascript),
ასევე relative (მაგალითად /guides/javascript).
ამასთანავე, შესაძლებელია მიმდინარე მისამართის ფრაგმენტზე ნავიგაციაც.
location.assign('https://iswavle.com/guides/javascript'); // გადაგვიყვანს 'https://iswavle.com/guides/javascript'
location.assign('home'); // გადაგვიყვანს მიმდინარე მისამართს + /home-ზე
location.assign('#ისწავლე'); // გადაგვიყვანს მიმდინარე მისამართს + #ისწავლე-ზეreload
reload მეთოდი თავიდან ჩატვირთავს ამჟამინდელ მისამართს.
location.reload();replace
replace მეთოდი ჰგავს assign მეთოდს. განსხვავება მდგომარეობს history სესიის ჩაწერაზე. replace ისტორიაში არ შეინახავს ცვლილებას, ხოლო assign - პირიქით.
location.replace('#ისწავლე'); // გადაგვამისამართებს 'https://iswavle.com/#ისწავლე'შეჯამება
ამ სტატიაში განვიხილეთ location ობიექტის თვისებები და მეთოდები.