Các phương thức window.location.href và window.open () trong JavaScript


Câu trả lời:


510

window.location.hrefkhô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.


Thông tin thêm:

window.open()có thể được thông qua các tham số bổ sung. Xem: hướng dẫn window.open


5
Tiêu chuẩn có thể nói rằng đó 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 .
Rory O'Kane

5
@ RoryO'Kane, câu hỏi này đã được hỏi vào năm 2011. Tôi nghi ngờ người dùng đã đề cập đến IE 10.
James Hill

9
Thật. Nhưng tôi nghĩ có khả năng, mặc dù không chắc chắn, các phiên bản IE cũ hơn cũng đối xử 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.
Rory O'Kane

32
  • 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 .


14

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.


12

Đã có câu trả lời mô tả về thuộc tính window.location.hrefwindow.open () .

Tôi sẽ đi bằng cách sử dụng Mục tiêu:

1. Để chuyển hướng trang này sang trang khác

Sử dụng window.location.href. Đặt thuộc tính href cho href của trang khác.

2. Mở liên kết trong cửa sổ mới hoặc cụ thể.

Sử dụng window.open (). Truyền tham số theo mục tiêu của bạn.

3. Biết địa chỉ hiện tại của trang

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.


9

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.


window.open () cũng có thể mở 'url' trong cùng một cửa sổ nếu '_elf' được truyền dưới dạng tham số bổ sung.
user761100

1

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)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.