2009-08-05 44 views
31

Tôi đã có khá nhiều js trên trang web của mình, vì vậy tôi muốn có một hàm lấy tên miền của url hiện tại càng hiệu quả càng tốt.Cách nhanh nhất để lấy tên miền/máy chủ bằng cách sử dụng javascript

Ví dụ:

đầu vào: https://stackoverflow.com/questions/ask

kết quả: stackoverflow.com

đầu vào: http://test.stackoverflow.com/questions/ask

kết quả: test.stackoverflow.com

Tôi đoán là cách tốt nhất để bắt đầu là với document.location, nhưng tôi đang ở tỷ lệ cược phải làm gì từ đó.

Trả lời

39

Hãy thử document.location.hostname

3

link text

window.location.hostname và lấy đi những gì không cần thiết như "www"

58

Nó phụ thuộc vào những gì bạn sẽ sử dụng tên miền với và đặc biệt hay không, bạn quan tâm đến một số cổng cụ thể. Nếu bạn URL bao gồm một số cảng như:

http://stackoverflow.com:80/question/ask

document.location.hostname sẽ trở lại "stackoverflow.com"

thời gian, document.location.host sẽ trở lại "stackoverflow.com:80"

Đó là tốt hơn phụ thuộc về trường hợp sử dụng của bạn.

Nếu bạn tình cờ kiểm tra tên miền để biết liệu tập lệnh có thể truy cập tập lệnh/DOM trong khung/cửa sổ khác, thì lưu ý rằng số cổng là đáng kể. Trình duyệt sẽ không cho phép truy cập tập lệnh tên miền chéo trên khung/cửa sổ. Để so sánh tên miền, các số cổng khác nhau có thể được coi là các miền khác nhau.

14

sử dụng document.location.origin nếu bạn cần tên máy chủ lưu trữ của nguồn gốc (bao gồm http/https)

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