Câu trả lời:
window.location.href = 'URL';
là triển khai tiêu chuẩn để thay đổi vị trí của cửa sổ hiện tại.
window.location.href
là việc thực hiện hoàn chỉnh, nhưng window.location
hoàn thành điều tương tự. Xem docs.sun.com/source/816-6408-10/location.htm : "Nếu bạn gán một chuỗi cho thuộc location
tính của một đối tượng, JavaScript sẽ tạo một location
đối tượng và gán chuỗi đó cho thuộc tính của nó href
."
window.location
nhưng điều đó không nhất thiết chỉ ra một trong hai cách: developer.mozilla.org/en/window.location .
window.location.href = 'URL';
và cũng window.location.assign('URL');
là phương pháp được thiết kế để tải lại một trang mới. Thông tin chi tiết có thể được tìm thấy w3schools.com/jsref/obj_location.asp
window.navigate
là một phương thức độc quyền, được Internet Explorer sử dụng (Tôi lưu ý chắc chắn liệu các trình duyệt khác có bắt chước nó để tương thích hay không, Chrome không). document.location
hoặc window.location
là các đối tượng tiêu chuẩn (xem các thông số kỹ thuật HTML / HTML5 / DOM khác nhau). document.location = someURL
(hoặc window.location = someURL
) có thể được hỗ trợ do mã kế thừa. Cách đúng để làm điều đó là document.location.href = someURL
, hoặc có lẽ document.location.assign(someURL)
.
window.navigate không được hỗ trợ trong một số trình duyệt
Trong tập lệnh java có nhiều cách để chuyển hướng, hãy xem đoạn mã và giải thích bên dưới
window.location.href = "http://krishna.developerstips.com/";
window.location = "http://developerstips.com/";
window.location.replace("http://developerstips.com/");
window.location.assign("http://work.developerstips.com/");
window.location.href tải trang từ bộ đệm của trình duyệt và không phải lúc nào cũng gửi yêu cầu đến máy chủ. Vì vậy, nếu bạn có sẵn phiên bản cũ của trang trong bộ đệm thì nó sẽ chuyển hướng đến đó thay vì tải một trang mới từ máy chủ.
Phương thức window.location.assign () để chuyển hướng nếu bạn muốn cho phép người dùng sử dụng nút quay lại để quay lại tài liệu gốc.
Phương thức window.location.replace () nếu bạn muốn chuyển hướng đến một trang mới và không cho phép người dùng điều hướng đến trang gốc bằng nút quay lại.
window.location
cũng ảnh hưởng đến khung hình,
hình thức tốt nhất tôi tìm thấy là:
parent.window.location.href
Và điều tồi tệ hơn là:
parent.document.URL
Tôi đã thực hiện một bài kiểm tra trình duyệt lớn và một số IE hiếm với một số plugin không được xác định với dạng thứ hai.
window.location
sẽ ảnh hưởng đến mục tiêu trình duyệt của bạn. document.location sẽ chỉ ảnh hưởng đến trình duyệt và frame / iframe của bạn.
window.navigate
KHÔNG được hỗ trợ trong một số trình duyệt, do đó nên tránh một trình duyệt. Bất kỳ phương pháp nào khác sử dụng thuộc tính vị trí là cách tiếp cận nhất quán và đáng tin cậy nhất
Tôi sẽ đi với window.location = "http://...";
. Tôi đã mã hóa JavaScript trình duyệt chéo trong một vài năm và tôi chưa bao giờ gặp vấn đề khi sử dụng phương pháp này.
window.navigate
và window.location.href
có vẻ hơi kỳ lạ với tôi.
Thực sự không có sự khác biệt; Có khoảng 5 phương pháp khác nhau để làm điều đó. Tuy nhiên, những cái tôi thấy thường xuyên nhất là document.location
và window.location
bởi vì chúng được hỗ trợ bởi tất cả các trình duyệt chính. (Cá nhân tôi chưa bao giờ thấy window.navigate
được sử dụng trong mã sản xuất, vì vậy có lẽ nó không có hỗ trợ rất tốt?)
hỗ trợ cho document.location
cũng tốt mặc dù nó là một phương pháp không dùng nữa. Tôi đã sử dụng phương pháp này trong một thời gian mà không có vấn đề gì. bạn có thể tham khảo tại đây để biết thêm chi tiết:
https://developer.mozilla.org/en-US/docs/Web/API/document.location
Bạn có thể di chuyển trang của mình bằng cách sử dụng
window.location.href =Url;