2010-11-14 32 views
11

Tôi muốn làm một số phân tích js, vì vậy tôi cần phải biết cách để người dùng nhập vào thanh địa chỉ dưới dạng biến js để tôi có thể biết lỗi chính tả phổ biến nhất là gì. Bằng cách đó, tôi có thể thực hiện chuyển hướng cho các lỗi chính tả phổ biến nhất đến đúng địa chỉ và giảm yêu cầu trang 404.Làm cách nào để lấy URL từ thanh địa chỉ của trình duyệt?

ví dụ về người dùng nhập vào trong trình duyệt:

https://stackoverflow.com/questions

.............................. ...........

tôi đã cố gắng sử dụng

document.location 

nhưng điều đó cho thấy những gì người dùng đang trên (tức là 404 địa chỉ trang), chứ không phải những gì họ đã gõ

Trả lời

0
javascript: alert(window.location.hostname); 

Nếu bạn muốn hiển thị tên đường dẫn, hãy thay thế .hostname bằng .pathname.

+0

nope, đó chỉ là lĩnh vực mà không cần tên đường dẫn – Constructor

24

này cung cấp cho bạn địa chỉ chính xác người dùng đang:

document.location.href 

Không có cách nào xác định những gì người dùng gõ trước khi yêu cầu được gửi (đối với an ninh-lý do).

+1

như thế nào mà sẽ làm những gì OP là yêu cầu? Anh ta muốn địa chỉ * được nhập * vào thanh URL, * trước * mọi chuyển hướng đến các trang lỗi. – Pointy

+0

@Pointy: Đúng vậy. Sửa lỗi đó. – jwueller

2

Bạn sẽ phải thực hiện việc này trên máy chủ vì đó là nơi phản hồi 404 ban đầu xuất phát từ đó. Các máy chủ chắc chắn nhận được URL xấu, vì vậy tất cả những gì đã xảy ra là bạn làm cho máy chủ của bạn bảo tồn những nơi nào đó.

+0

bất kỳ ý tưởng làm thế nào để làm điều đó? có thể đặt trước trong trang php (để trang 404 có được url) không? – Constructor

+0

Tôi không biết php vì vậy tôi không thực sự chắc chắn làm thế nào bạn muốn làm điều đó trong môi trường của bạn. Nói chung * một cái gì đó * đã tìm ra rằng URL là không có thật, và cái gì đó là những gì bạn sẽ phải cấu hình hoặc mở rộng. – Pointy

1

Nhiều hệ thống quản lý nội dung bảo vệ url khi bạn truy cập trang 404, vì vậy bạn có thể sử dụng document.location.href, sau đó chỉ cần kiểm tra số liệu phân tích trên trang lỗi.

0

Đây là cách hay để tải địa chỉ liên kết Tải lại, nếu có, phải có URL được nhập vào thanh địa chỉ.

var arr = [], l = document.links; 
for(var i=0; i<l.length; i++) { 
    arr.push(l[i].href); 
} 

từ: https://stackoverflow.com/a/3871370/1188090

Các vấn đề liên quan