Tất cả tôi muốn là để có được URL trang web. Không phải URL như được lấy từ một liên kết. Khi tải trang, tôi cần có thể lấy toàn bộ URL hiện tại của trang web và đặt nó làm biến để làm theo ý tôi.
Tất cả tôi muốn là để có được URL trang web. Không phải URL như được lấy từ một liên kết. Khi tải trang, tôi cần có thể lấy toàn bộ URL hiện tại của trang web và đặt nó làm biến để làm theo ý tôi.
Câu trả lời:
Sử dụng:
window.location.href
Như đã lưu ý trong các bình luận, dòng bên dưới hoạt động, nhưng nó đã bị lỗi đối với Firefox.
document.URL;
document.URL
tính không cập nhật sau khi window.location
neo (#), trong khi window.location.href
đó. Tôi đã kết hợp một bản demo trực tiếp tại đây: jsfiddle.net/PxgKy Tôi đã không thử nghiệm bất kỳ phiên bản Firefox nào khác. Không có vấn đề sử dụng document.URL
được tìm thấy trong Chrome 20 và IE9.
window.location.host
vàwindow.location.href.toString().split(window.location.host)[1]
document.baseURI
về sau đó. Về cơ bản có 3 cách để có được url document.baseURI
, document.URL
, & location
.
name="URL"
thì thuộc tính này sẽ bị bóng trên document
đối tượng và mã của bạn sẽ bị phá vỡ. Trong trường hợp đó, document.URL
sẽ tham chiếu đến nút DOM thay thế. Tốt hơn để sử dụng các thuộc tính của đối tượng toàn cầu như trong window.location.href
.
Truy cập thông tin URL
JavaScript cung cấp cho bạn nhiều phương thức để truy xuất và thay đổi URL hiện tại, được hiển thị trên thanh địa chỉ của trình duyệt. Tất cả các phương thức này sử dụng Location
đối tượng, là một thuộc tính của Window
đối tượng. Bạn có thể tạo một Location
đối tượng mới có URL hiện tại như sau:
var currentLocation = window.location;
Cấu trúc URL cơ bản
<protocol>//<hostname>:<port>/<pathname><search><hash>
giao thức: Chỉ định tên giao thức được sử dụng để truy cập tài nguyên trên Internet. (HTTP (không có SSL) hoặc HTTPS (có SSL))
tên máy chủ: Tên máy chủ chỉ định máy chủ sở hữu tài nguyên. Ví dụ , www.stackoverflow.com
. Một máy chủ cung cấp dịch vụ sử dụng tên của máy chủ lưu trữ.
cổng: Số cổng được sử dụng để nhận biết một quy trình cụ thể mà Internet hoặc tin nhắn mạng khác sẽ được chuyển tiếp khi đến máy chủ.
pathname: Đường dẫn cung cấp thông tin về tài nguyên cụ thể trong máy chủ mà máy khách Web muốn truy cập. Ví dụ , /index.html
.
tìm kiếm: Chuỗi truy vấn tuân theo thành phần đường dẫn và cung cấp một chuỗi thông tin mà tài nguyên có thể sử dụng cho mục đích nào đó (ví dụ: làm tham số cho tìm kiếm hoặc dưới dạng dữ liệu cần xử lý).
hàm băm: Phần neo của URL, bao gồm dấu băm (#).
Với các Location
thuộc tính đối tượng này, bạn có thể truy cập tất cả các thành phần URL này và những gì chúng có thể đặt hoặc trả về:
Tôi hy vọng bạn có câu trả lời của bạn ..
window.location
, mà là các thuộc tính và ở đây chúng ta có một ví dụ : var stringPathName = window.location.pathname
.
substring
. Tuy nhiên, nó có thể hữu ích khi bạn muốn sử dụng để chuyển hướng document.location = "/page.html";
sẽ chuyển hướng đến trang gốcpage.html
search
, nhưng trong danh sách mô tả bên dưới, nó được gọi là a query
. Có lẽ họ có thể được hòa giải, hoặc giải thích thêm có thể được thêm vào.
Sử dụng window.location
để truy cập đọc và ghi vào đối tượng vị trí được liên kết với khung hiện tại. Nếu bạn chỉ muốn lấy địa chỉ dưới dạng chuỗi chỉ đọc, bạn có thể sử dụng document.URL
, địa chỉ này sẽ chứa cùng giá trị như window.location.href
.
Nhận URL trang hiện tại:
window.location.href
document
là gốc của cây tài liệu được xác định bởi spec. window
nói chung là tương đương nhưng nó có thể không ở trong một số trường hợp kỳ lạ.
OK, nhận được URL đầy đủ của trang hiện tại thật dễ dàng bằng cách sử dụng JavaScript thuần túy. Ví dụ: thử mã này trên trang này:
window.location.href;
// use it in the console of this page will return
// http://stackoverflow.com/questions/1034621/get-current-url-in-web-browser"
Tài
window.location.href
sản trả về URL của trang hiện tại.
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>
Cũng không tệ khi đề cập đến những điều này là tốt:
nếu bạn cần một đường dẫn tương đối, chỉ cần sử dụng window.location.pathname
;
nếu bạn muốn lấy tên máy chủ, bạn có thể sử dụng window.location.hostname
;
và nếu bạn cần có giao thức riêng, hãy sử dụng window.location.protocol
hash
thẻ, bạn có thể lấy nó như : window.location.hash
.Vì vậy, window.location.href
xử lý tất cả trong một lần ... về cơ bản:
window.location.protocol + '//' + window.location.hostname + window.location.pathname + window.location.hash === window.location.href;
//true
Cũng window
không cần sử dụng nếu đã có trong phạm vi cửa sổ ...
Vì vậy, trong trường hợp đó, bạn có thể sử dụng:
location.protocol
location.hostname
location.pathname
location.hash
location.href
Để có được đường dẫn, bạn có thể sử dụng:
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
Bạn có thể lấy vị trí URL hiện tại bằng thẻ băm bằng cách sử dụng:
JavaScript:
// Using href
var URL = window.location.href;
// Using path
var URL = window.location.pathname;
jQuery :
$(location).attr('href');
var currentPageUrlIs = "";
if (typeof this.href != "undefined") {
currentPageUrlIs = this.href.toString().toLowerCase();
}else{
currentPageUrlIs = document.location.toString().toLowerCase();
}
Đoạn mã trên cũng có thể giúp ai đó
http://www.server.com/path/to/Script.php?option=A1B2C3
, nếu hệ thống tệp phân biệt chữ hoa chữ thường (Linux / Unix) thì không cần Script.php và script.php giống nhau. Và ngay cả khi không phân biệt chữ hoa chữ thường (Windows, một số Mac Os), ?option=A1B2C3
không giống ?option=a1b2c3
hoặc thậm chí ?Option=A1B2C3
. Chỉ có máy chủ là không phân biệt chữ hoa chữ thường: www.server.com hoặc www.SeRvEr.cOm đều giống nhau.
Thêm kết quả để tham khảo nhanh
window.location;
Location {href: "/programming/1034621/get-the-current-url-with-javascript",
ancestorOrigins: DOMStringList,
origin: "https://stackoverflow.com",
replace: ƒ, assign: ƒ, …}
tài liệu. Vị trí
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"
địa điểm
"stackoverflow.com"
Đối với URL hoàn chỉnh với chuỗi truy vấn:
document.location.toString().toLowerCase();
Đối với URL máy chủ:
window.location
Trong jstl, chúng ta có thể truy cập đường dẫn URL hiện tại bằng cách sử dụng pageContext.request.contextPath
. Nếu bạn muốn thực hiện một cuộc gọi Ajax, hãy sử dụng URL sau.
url = "${pageContext.request.contextPath}" + "/controller/path"
Ví dụ: Đối với trang http://stackoverflow.com/posts/36577223
này sẽ cung cấp http://stackoverflow.com/controller/path
.
Cách để có được đối tượng vị trí hiện tại là window.location
.
So sánh điều này với document.location
, ban đầu chỉ trả về URL hiện tại dưới dạng một chuỗi. Có lẽ để tránh nhầm lẫn, document.location
đã được thay thế bằng document.URL
.
Và, tất cả các trình duyệt hiện đại ánh xạ document.location
tới window.location
.
Trong thực tế, để an toàn trên nhiều trình duyệt, bạn nên sử dụng window.location
hơn là document.location
.
Đối với những người muốn có một đối tượng URL thực tế, có khả năng cho một tiện ích lấy URL làm đối số:
const url = new URL(window.location.href)
Câu trả lời của Nikhil Agrawal rất hay, chỉ cần thêm một ví dụ nhỏ ở đây bạn có thể làm trong bảng điều khiển để xem các thành phần khác nhau đang hoạt động:
Nếu bạn muốn URL cơ sở không có đường dẫn hoặc tham số truy vấn (ví dụ: để thực hiện các yêu cầu AJAX để hoạt động trên cả máy chủ phát triển / dàn dựng và sản xuất), window.location.origin
thì tốt nhất là nó giữ giao thức cũng như cổng tùy chọn (trong phát triển Django, đôi khi bạn có một cổng không chuẩn sẽ phá vỡ nó nếu bạn chỉ sử dụng tên máy chủ, v.v.)
Bạn có thể nhận được liên kết đầy đủ của trang hiện tại thông qua location.href
và để có được liên kết của bộ điều khiển hiện tại, hãy sử dụng:
location.href.substring(0, location.href.lastIndexOf('/'));
Lấy URL hiện tại bằng JavaScript:
window.location.toString ();
window.location.href
nếu bạn đang đề cập đến một liên kết cụ thể có id , mã này có thể giúp bạn.
$(".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+"");
}
});
});
Tôi đang sử dụng ajax ở đây để gửi id và chuyển hướng trang bằng window.location.replace . chỉ cần thêm một thuộc tính id=""
như đã nêu.
Trước tiên, kiểm tra trang được tải hoàn toàn trong
browser,window.location.toString();
window.location.href
sau đó gọi một hàm lấy url, biến URL và in trên bàn điều khiển,
$(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 );
});