Có một cách hack khác mà tôi sử dụng và chưa từng thấy trong bất kỳ phản hồi StackOverflow nào: sử dụng thuộc tính "src" của hình ảnh sẽ mang lại đường dẫn cơ sở hoàn chỉnh cho trang web của bạn. Ví dụ :
var dummy = new Image;
dummy.src = '$'; // using '' will fail on some browsers
var root = dummy.src.slice(0,-1); // remove trailing '$'
Trên một URL như http://domain.com/somesite/index.html
,
root
sẽ được đặt thành http://domain.com/somesite/
. Điều này cũng hoạt động cho localhost hoặc bất kỳ URL cơ sở hợp lệ.
Lưu ý rằng điều này sẽ gây ra yêu cầu HTTP thất bại trên $
hình ảnh giả. Bạn có thể sử dụng một hình ảnh hiện có để thay thế, chỉ với những thay đổi mã nhỏ.
Một biến thể khác sử dụng liên kết giả, không có tác dụng phụ đối với các yêu cầu HTTP:
var dummy = document.createElement ('a');
dummy.href = '';
var root = dummy.href;
Tôi đã không kiểm tra nó trên mọi trình duyệt, mặc dù.