Câu hỏi Nhận URL hiện tại bằng JavaScript?


Tất cả những gì tôi muốn là lấy URL của trang web. Không phải là URL được lấy từ một liên kết. Khi tải trang, tôi cần có khả năng lấy URL đầy đủ, hiện tại của trang web và đặt nó làm biến để làm như tôi làm.


2528
2018-06-23 19:26


gốc


Có thể trùng lặp: Nhận giao thức, tên miền và cổng từ URL - blong
stackoverflow.com/questions/406192/… - Nilesh Botre
Để làm như tôi xin ... :-p - Peter verleg


Các câu trả lời:


Sử dụng:

window.location.href 

Như đã lưu ý trong các bình luận, dòng dưới đây hoạt động, nhưng nó bị lỗi cho Firefox.

document.URL;

Xem URL thuộc loại DOMString, chỉ đọc.


3153
2017-12-23 15:33



Trong Firefox 12 document.URL thuộc tính không cập nhật sau window.location vào một neo (#), trong khi window.location.href làm. Tôi đã cùng nhau giới thiệu bản trình diễn trực tiếp tại đây: jsfiddle.net/PxgKy Tôi đã không kiểm tra bất kỳ phiên bản Firefox nào khác. Không có vấn đề khi sử dụng document.URL đã được tìm thấy trong Chrome 20 và IE9. - Telmo Marques
bạn cũng có thể nhận máy chủ và vị trí rõ ràng: window.location.host và window.location.href.toString().split(window.location.host)[1] - ali youhannaei
và những gì document.baseURI về sau đó. Về cơ bản có 3 cách để tải url document.baseURI, document.URL, & location. - Muhammad Umer
-1: Nếu bạn có khung, hình ảnh hoặc biểu mẫu với name="URL" thì thuộc tính này sẽ bị che khuất document đối tượng và mã của bạn sẽ bị hỏng. Trong trường hợp đó, document.URL thay vào đó sẽ tham chiếu đến nút DOM. Tốt hơn để sử dụng các thuộc tính của đối tượng chung như trong window.location.href. - Roy Tinker
"window.location.href" để giành chiến thắng - GabrielBB


Truy cập thông tin URL

JavaScript cung cấp cho bạn nhiều phương pháp để truy xuất và thay đổi URL hiện tại, được hiển thị trong thanh địa chỉ của trình duyệt. Tất cả các phương pháp này đều sử dụng Location đối tượng, thuộc tính của Window vật. Bạn có thể tạo mới Location đối tượng 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 (với SSL))

  • tên máy chủ: Tên máy chủ lưu trữ chỉ định máy chủ sở hữu tài nguyên. Ví dụ, www.stackoverflow.com. Máy chủ cung cấp dịch vụ bằng tên của máy chủ.

  • Hải cảng: Số cổng được sử dụng để nhận ra một quy trình cụ thể mà Internet hoặc thông điệp mạng khác sẽ được chuyển tiếp khi nó đến máy chủ.

  • tên đường dẫn: Đườ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.

  • truy vấn: Chuỗi truy vấ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ột số mục đích (ví dụ như các tham số cho tìm kiếm hoặc dữ liệu được xử lý).

  • băm: Phần neo của một URL, bao gồm dấu băm (#).

Với những Location các thuộc tính đối tượng, 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ề:

  • href - toàn bộ URL
  • giao thức - giao thức của URL
  • chủ nhà - tên máy chủ và cổng của URL
  • tên máy chủ - tên máy chủ của URL
  • Hải cảng - số cổng mà máy chủ sử dụng cho URL
  • tên đường dẫn - tên đường dẫn của URL
  • Tìm kiếm - phần truy vấn của URL
  • băm - phần neo của URL

Tôi hy vọng bạn có câu trả lời của bạn ..


523
2018-06-23 19:35



Đây là câu trả lời tốt nhất cho tôi. Tôi đặt cược hầu hết mọi người ở đây không chỉ tìm kiếm cách lấy url hiện tại, mà còn thông tin khác được nêu trong câu trả lời. THanks @Nikhil - Jason Kim
Chúng không phải là "phương pháp" của window.location, nhưng thuộc tính và ở đây chúng ta có một ví dụ: var stringPathName = window.location.pathname. - Peter Krauss
Cảm ơn bạn rất nhiều, xin vui lòng không phải tên đường dẫn đã bao gồm ban đầu / (ít nhất là trong Google Chrome) - Fabio C.
@FabioC. Bạn có thể xóa nó bằng cách 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ốc page.html - FindOut_Quran
Hãy ghi nhớ ie9 pathname không có dấu gạch chéo hàng đầu, vì vậy nó có thể index.html. - AJcodez


Câu hỏi tương tự đã được hỏi ít hơn 24 giờ trước. Để tự mình trích dẫn:

Sử dụng window.location để đọc và   viết quyền truy cập vào vị trí   vật   liên kết với khung hiện tại. Nếu   bạn chỉ muốn lấy địa chỉ như một   chuỗi chỉ đọc, bạn có thể sử dụng    document.URL, nên chứa   giá trị giống như    window.location.href.


309
2018-06-23 19:28



Xem thêm stackoverflow.com/questions/2430936/… - Christoph


Nhận URL trang hiện tại:

window.location.href

249
2017-09-10 06:51



Lưu ý rằng đó là vị trí của cửa sổ chứ không phải của tài liệu. - Gumbo
Nó là điều tương tự. URL hiện tại đầy đủ đề cập đến đường dẫn tài liệu (địa chỉ bên ngoài). - Zanoni
Nó có được chuẩn hóa như document.url không? (Tôi có nghĩa là một cái gì đó giống như một tài liệu w3c) - chendral
@chendral: w3.org/TR/Window/#location - Christoph
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 có trong một số trường hợp lạ. - broinjc


Để có được đường dẫn, bạn có thể sử dụng:

alert("Url  ="+document.location);
alert("PathName  ="+ window.location.pathname);// Returns path only
alert("url  ="+window.location.href);// Returns full URL


30
2018-04-25 16:14





Sử dụng: window.location.href.

Như đã nói ở trên, document.URL  không cập nhật khi cập nhật window.location. Xem MDN.


26
2018-06-09 09:32





Mở Những công cụ phát triển, nhập nội dung sau vào bảng điều khiển và hãy nhấn Đi vào.

window.location

Ví dụ: Dưới đây là ảnh chụp màn hình của kết quả trên trang hiện tại.

enter image description here

Lấy những gì bạn cần từ đây. :)


25
2018-03-26 06:10