Câu trả lời:
window.location.hreflà 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.hreflà 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 đó hreflà 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 hrefmộ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 hrefnhư 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.hrefnhư 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.locationlà 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.hrefsẽ mở URL mới trong cửa sổ hiện tại của bạn.
Các window.openurl sẽ mở trong tab trình duyệt mới
Các window.location.hrefurl 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)