Câu trả lời:
window.location.href
là không một phương pháp, đó là một tài sản đó sẽ cho bạn biết vị trí hiện tại URL của trình duyệt. Thay đổi giá trị của tài sản sẽ chuyển hướng trang.
window.open()
là một phương pháp mà bạn có thể truyền URL tới mà bạn muốn mở trong một cửa sổ mới. Ví dụ:
ví dụ window.location.href:
window.location.href = 'http://www.google.com'; //Will take you to Google.
ví dụ window.open ():
window.open('http://www.google.com'); //This will open Google in a new window.
window.open()
có thể được thông qua các tham số bổ sung. Xem: hướng dẫn window.open
window.location.href
là một thuộc tính, không phải là một phương thức, nhưng Internet Explorer (ít nhất là phiên bản 10) cho phép bạn coi đó href
là một phương thức. Tôi đã thấy nó hoạt động, chỉ trong IE10, trên một trang tôi đã sử dụng. Đó có lẽ là lý do tại sao người hỏi đã gọi href
một phương thức. Xem câu hỏi không tương thích IE với window.location.href . Nhưng vâng, tốt hơn là sử dụng href
như một tài sản, nó sẽ hoạt động trong bất kỳ trình duyệt nào, kể cả IE .
window.location.href
như vậy. Xét cho cùng, các phiên bản mới hơn của iE thường nhận được nhiều tiêu chuẩn hơn , không ít hơn. Vì vậy, nếu IE10 vẫn phá vỡ tiêu chuẩn, thì các phiên bản cũ hơn có lẽ cũng đã làm như vậy.
window.open
sẽ mở một trình duyệt mới với URL được chỉ định.
window.location.href
sẽ mở URL trong cửa sổ trong đó mã được gọi.
Cũng lưu ý rằng đó window.open()
là một hàm trên chính đối tượng cửa sổ trong khi đó window.location
là một đối tượng trưng ra nhiều phương thức và thuộc tính khác .
window.open là một phương thức; bạn có thể mở cửa sổ mới và có thể tùy chỉnh nó. window.location.href chỉ là một thuộc tính của cửa sổ hiện tại.
Đã có câu trả lời mô tả về thuộc tính window.location.href và window.open () .
Tôi sẽ đi bằng cách sử dụng Mục tiêu:
Sử dụng window.location.href. Đặt thuộc tính href cho href của trang khác.
Sử dụng window.open (). Truyền tham số theo mục tiêu của bạn.
Sử dụng window.location.href. Nhận giá trị của thuộc tính window.location.href. Bạn cũng có thể nhận giao thức cụ thể, tên máy chủ, chuỗi băm từ đối tượng window.location.
Xem Đối tượng vị trí để biết thêm thông tin.
window.open ()
sẽ mở một cửa sổ mới, trong khi đó window.location.href
sẽ mở URL mới trong cửa sổ hiện tại của bạn.
Các window.open
url sẽ mở trong tab trình duyệt mới
Các window.location.href
url sẽ mở trong Tab hiện tại (thay vì bạn có thể sử dụng location
)
Dưới đây là ví dụ fiddle (trong cửa sổ đoạn trích SO.open không hoạt động)