Làm cách nào để chuyển hướng đến một trang khác trong tab mới trong JavaScript?

Khi cố gắng nhấp vào một phần tử trong tab mới mở, trình duyệt không nhấp vào phần nào trong tab trước đó khi nó phải nhấp vào tab mới

Tôi thiết lập điều này để nhấp vào một thành phần trong tab gốc, điều này khiến tab mới tự động mở, dự kiến ​​tab mới sẽ chuyển hướng 2 lần. Tôi đã tạo một hoạt động nhấp chuột và chỉ định nhấp vào đúng phần tử trong tab mới, nhưng ngay cả khi có độ trễ, nó vẫn quyết định nhấp vào tab trước đó. Đây có thể là sự cố với bộ chọn của tôi vì nó từ chối xác nhận tab mới

Bất kỳ trợ giúp sẽ được đánh giá cao

Tôi đang xử lý xác thực trong dự án của mình bằng lớp Trình xử lý xác thực. logic là. mã thông báo được tạo trong khi đăng nhập sẽ được xác minh và nếu nó hợp lệ thì chỉ được cấp quyền truy cập vào các API bắt buộc

Kịch bản

Tôi đã đăng nhập vào ứng dụng bằng thông tin đăng nhập hợp lệ [Tôi có mã thông báo được tạo trong khi đăng nhập]. Nếu tôi mở một trang trong tab khác từ ứng dụng [sử dụng cửa sổ. open[address, "_blank"]], nó đang mở trang đó. Nhưng khi tôi mở một tab khác trên trình duyệt theo cách thủ công và nhập cùng một địa chỉ vào thanh địa chỉ, nó sẽ chuyển hướng tôi đến trang đăng nhập

Câu hỏi

Không mở trang bằng cửa sổ. mở và nhập thủ công địa chỉ vào thanh địa chỉ có giống nhau không? . mở nhưng không khả dụng khi tôi nhập thủ công url trong tab mới?

Những gì tôi đã thử

Khi chuyển hướng từ cửa sổ. mã mở, tab mới mở có mã thông báo trong Bộ lưu trữ phiên của trình duyệt [không hiểu tại sao nó có mã đó, không chuyển mã thông báo dưới dạng chuỗi truy vấn], nhưng khi nhập url theo cách thủ công, mã thông báo không có trong bộ lưu trữ phiên

Phương thức

window.open["//www.mozilla.org/", "mozillaTab"];
1 của giao diện
window.open["//www.mozilla.org/", "mozillaTab"];
2 tải tài nguyên đã chỉ định vào ngữ cảnh duyệt web mới hoặc hiện có [nghĩa là tab, cửa sổ hoặc iframe] dưới một tên đã chỉ định

cú pháp

open[]
open[url]
open[url, target]
open[url, target, windowFeatures]

Thông số

window.open["//www.mozilla.org/", "mozillaTab"];
3 Tùy chọn

Một chuỗi cho biết URL hoặc đường dẫn của tài nguyên sẽ được tải. Nếu một chuỗi trống [

window.open["//www.mozilla.org/", "mozillaTab"];
4] được chỉ định hoặc tham số này bị bỏ qua, một trang trống sẽ được mở trong ngữ cảnh duyệt được nhắm mục tiêu

window.open["//www.mozilla.org/", "mozillaTab"];
5 Tùy chọn

Một chuỗi, không có khoảng trắng, chỉ định tên của ngữ cảnh duyệt mà tài nguyên đang được tải vào. Nếu tên không xác định ngữ cảnh hiện có, ngữ cảnh mới sẽ được tạo và đặt tên đã chỉ định. Cũng có thể sử dụng các từ khóa

window.open["//www.mozilla.org/", "mozillaTab"];
5 đặc biệt,
window.open["//www.mozilla.org/", "mozillaTab"];
7,
window.open["//www.mozilla.org/", "mozillaTab"];
8,
window.open["//www.mozilla.org/", "mozillaTab"];
9 và
window.open["//www.mozilla.org/", "mozillaTab"];
00

Tên này có thể được sử dụng làm thuộc tính

window.open["//www.mozilla.org/", "mozillaTab"];
5 của các phần tử
window.open["//www.mozilla.org/", "mozillaTab"];
02 hoặc
window.open["//www.mozilla.org/", "mozillaTab"];
03

window.open["//www.mozilla.org/", "mozillaTab"];
04 Tùy chọn

Một chuỗi chứa danh sách các tính năng cửa sổ được phân tách bằng dấu phẩy ở dạng

window.open["//www.mozilla.org/", "mozillaTab"];
05 — hoặc đối với các tính năng boolean, chỉ cần
window.open["//www.mozilla.org/", "mozillaTab"];
06. Các tính năng này bao gồm các tùy chọn như kích thước và vị trí mặc định của cửa sổ, có mở cửa sổ bật lên tối thiểu hay không, v.v. Các tùy chọn sau được hỗ trợ

window.open["//www.mozilla.org/", "mozillaTab"];
07

Nếu tính năng này được bật, nó sẽ yêu cầu sử dụng một cửa sổ bật lên tối thiểu. Các tính năng giao diện người dùng có trong cửa sổ bật lên sẽ được trình duyệt tự động quyết định, thường chỉ bao gồm một thanh địa chỉ

Nếu

window.open["//www.mozilla.org/", "mozillaTab"];
07 không được bật và không có tính năng cửa sổ nào được khai báo, ngữ cảnh duyệt web mới sẽ là một tab

Ghi chú. Chỉ định bất kỳ tính năng nào trong tham số

window.open["//www.mozilla.org/", "mozillaTab"];
04, ngoài
open[]
open[url]
open[url, target]
open[url, target, windowFeatures]
00 hoặc
open[]
open[url]
open[url, target]
open[url, target, windowFeatures]
01, cũng có tác dụng yêu cầu cửa sổ bật lên

Để bật tính năng này, hãy chỉ định

window.open["//www.mozilla.org/", "mozillaTab"];
07 hoàn toàn không có giá trị hoặc nếu không, hãy đặt nó thành
open[]
open[url]
open[url, target]
open[url, target, windowFeatures]
03,
open[]
open[url]
open[url, target]
open[url, target, windowFeatures]
04 hoặc
open[]
open[url]
open[url, target]
open[url, target, windowFeatures]
05

Ví dụ.

open[]
open[url]
open[url, target]
open[url, target, windowFeatures]
06,
open[]
open[url]
open[url, target]
open[url, target, windowFeatures]
07,
open[]
open[url]
open[url, target]
open[url, target, windowFeatures]
08 và
window.open["//www.mozilla.org/", "mozillaTab"];
07 đều có kết quả giống hệt nhau

window.open["//www.mozilla.org/", "mozillaTab"];
00 hoặc
window.open["//www.mozilla.org/", "mozillaTab"];
01

Chỉ định chiều rộng của vùng nội dung, bao gồm thanh cuộn. Giá trị yêu cầu tối thiểu là 100

window.open["//www.mozilla.org/", "mozillaTab"];
02 hoặc
window.open["//www.mozilla.org/", "mozillaTab"];
03

Chỉ định chiều cao của khu vực nội dung, bao gồm thanh cuộn. Giá trị yêu cầu tối thiểu là 100

window.open["//www.mozilla.org/", "mozillaTab"];
04 hoặc
window.open["//www.mozilla.org/", "mozillaTab"];
05

Chỉ định khoảng cách tính bằng pixel từ phía bên trái của khu vực làm việc như được xác định bởi hệ điều hành của người dùng nơi cửa sổ mới sẽ được tạo

window.open["//www.mozilla.org/", "mozillaTab"];
06 hoặc
window.open["//www.mozilla.org/", "mozillaTab"];
07

Chỉ định khoảng cách tính bằng pixel từ phía trên cùng của khu vực làm việc như được xác định bởi hệ điều hành của người dùng nơi cửa sổ mới sẽ được tạo

open[]
open[url]
open[url, target]
open[url, target, windowFeatures]
00

Nếu tính năng này được đặt, cửa sổ mới sẽ không có quyền truy cập vào cửa sổ ban đầu thông qua

window.open["//www.mozilla.org/", "mozillaTab"];
09 và trả về
window.open["//www.mozilla.org/", "mozillaTab"];
00

Khi sử dụng

open[]
open[url]
open[url, target]
open[url, target, windowFeatures]
00, các tên mục tiêu không trống, ngoài
window.open["//www.mozilla.org/", "mozillaTab"];
00,
window.open["//www.mozilla.org/", "mozillaTab"];
7 và
window.open["//www.mozilla.org/", "mozillaTab"];
9, được xử lý giống như
window.open["//www.mozilla.org/", "mozillaTab"];
8 về mặt quyết định có mở ngữ cảnh duyệt web mới hay không

open[]
open[url]
open[url, target]
open[url, target, windowFeatures]
01

Nếu tính năng này được đặt, trình duyệt sẽ bỏ qua tiêu đề

window.open["//www.mozilla.org/", "mozillaTab"];
07, cũng như đặt
open[]
open[url]
open[url, target]
open[url, target, windowFeatures]
00 thành true. Xem
window.open["//www.mozilla.org/", "mozillaTab"];
09 để biết thêm thông tin

Ghi chú. Các giá trị vị trí được yêu cầu [

window.open["//www.mozilla.org/", "mozillaTab"];
06,
window.open["//www.mozilla.org/", "mozillaTab"];
04] và thứ nguyên được yêu cầu [
window.open["//www.mozilla.org/", "mozillaTab"];
00,
window.open["//www.mozilla.org/", "mozillaTab"];
02] trong
window.open["//www.mozilla.org/", "mozillaTab"];
04 sẽ được sửa nếu bất kỳ giá trị nào được yêu cầu như vậy không cho phép hiển thị toàn bộ cửa sổ bật lên của trình duyệt trong khu vực làm việc cho các ứng dụng của hệ điều hành của người dùng. Nói cách khác, ban đầu không có phần nào của cửa sổ bật lên mới có thể được định vị ngoài màn hình

Giá trị trả về

Một đối tượng

window.open["//www.mozilla.org/", "mozillaTab"];
55. Tham chiếu được trả về có thể được sử dụng để truy cập các thuộc tính và phương thức của cửa sổ mới miễn là nó tuân thủ các yêu cầu bảo mật của chính sách cùng nguồn gốc

Sự miêu tả

Phương thức

window.open["//www.mozilla.org/", "mozillaTab"];
1 của giao diện
window.open["//www.mozilla.org/", "mozillaTab"];
2 lấy một URL làm tham số và tải tài nguyên mà nó xác định vào một tab hoặc cửa sổ mới hoặc hiện có. Tham số
window.open["//www.mozilla.org/", "mozillaTab"];
5 xác định cửa sổ hoặc tab nào sẽ tải tài nguyên vào và tham số
window.open["//www.mozilla.org/", "mozillaTab"];
04 có thể được sử dụng để kiểm soát mở một cửa sổ bật lên mới với các tính năng giao diện người dùng tối thiểu và kiểm soát kích thước cũng như vị trí của nó

Lưu ý rằng các URL từ xa sẽ không tải ngay lập tức. Khi

window.open["//www.mozilla.org/", "mozillaTab"];
00 trả về, cửa sổ luôn chứa
window.open["//www.mozilla.org/", "mozillaTab"];
01. Quá trình tìm nạp URL thực tế được hoãn lại và bắt đầu sau khi khối tập lệnh hiện tại kết thúc thực thi. Việc tạo cửa sổ và tải tài nguyên được tham chiếu được thực hiện không đồng bộ

ví dụ

Mở một tab mới

window.open["//www.mozilla.org/", "mozillaTab"];

Mở cửa sổ bật lên

Ngoài ra, ví dụ sau minh họa cách mở cửa sổ bật lên, sử dụng tính năng

window.open["//www.mozilla.org/", "mozillaTab"];
07

Cảnh báo. Các trình duyệt hiện đại có trình chặn cửa sổ bật lên tích hợp, ngăn việc mở các cửa sổ bật lên đó. Người dùng phải thay đổi cài đặt trình duyệt của họ để bật cửa sổ bật lên hoặc bật chúng trên cơ sở từng trang từ giao diện người dùng của trình duyệt [một thông báo có thể xuất hiện khi trang web cố gắng mở cửa sổ bật lên lần đầu tiên, cung cấp tùy chọn bật hoặc

window.open["//www.mozilla.org/", "mozillaTab"];
0

Có thể kiểm soát kích thước và vị trí của cửa sổ bật lên mới

open[]
open[url]
open[url, target]
open[url, target, windowFeatures]
0

Tăng cường tiến bộ

Trong một số trường hợp, JavaScript bị tắt hoặc không khả dụng và

window.open["//www.mozilla.org/", "mozillaTab"];
00 sẽ không hoạt động. Thay vì chỉ dựa vào sự hiện diện của tính năng này, chúng tôi có thể cung cấp giải pháp thay thế để trang web hoặc ứng dụng vẫn hoạt động

Cung cấp các cách thay thế khi JavaScript bị tắt

Nếu hỗ trợ JavaScript bị tắt hoặc không tồn tại, thì tác nhân người dùng sẽ tạo một cửa sổ phụ tương ứng hoặc sẽ hiển thị tài nguyên được tham chiếu theo cách xử lý thuộc tính

window.open["//www.mozilla.org/", "mozillaTab"];
5 của nó. Mục tiêu và ý tưởng là cung cấp [chứ không áp đặt] cho người dùng cách mở tài nguyên được tham chiếu

HTML

window.open["//www.mozilla.org/", "mozillaTab"];
0

JavaScript

window.open["//www.mozilla.org/", "mozillaTab"];
0

Đoạn mã trên giải quyết một số vấn đề về khả năng sử dụng liên quan đến liên kết mở cửa sổ bật lên. Mục đích của

window.open["//www.mozilla.org/", "mozillaTab"];
05 trong mã là hủy bỏ hành động mặc định của liên kết. nếu trình xử lý sự kiện cho
window.open["//www.mozilla.org/", "mozillaTab"];
06 được thực thi, thì không cần thực hiện hành động mặc định của liên kết. Nhưng nếu hỗ trợ JavaScript bị tắt hoặc không tồn tại trên trình duyệt của người dùng, thì trình xử lý sự kiện cho
window.open["//www.mozilla.org/", "mozillaTab"];
06 sẽ bị bỏ qua và trình duyệt sẽ tải tài nguyên được tham chiếu trong khung hoặc cửa sổ đích có tên
window.open["//www.mozilla.org/", "mozillaTab"];
08. Nếu không có khung cũng như cửa sổ nào có tên là
window.open["//www.mozilla.org/", "mozillaTab"];
08 thì trình duyệt sẽ tạo một cửa sổ mới và đặt tên là
window.open["//www.mozilla.org/", "mozillaTab"];
08

Ghi chú. Để biết thêm chi tiết về thuộc tính

window.open["//www.mozilla.org/", "mozillaTab"];
5, xem
window.open["//www.mozilla.org/", "mozillaTab"];
02 hoặc
window.open["//www.mozilla.org/", "mozillaTab"];
03

Sử dụng lại các cửa sổ hiện có và tránh
window.open["//www.mozilla.org/", "mozillaTab"];
94

Sử dụng

window.open["//www.mozilla.org/", "mozillaTab"];
95 làm giá trị thuộc tính đích sẽ tạo ra một số cửa sổ mới và chưa được đặt tên trên màn hình của người dùng không thể tái chế hoặc sử dụng lại. Cố gắng cung cấp một tên có ý nghĩa cho thuộc tính
window.open["//www.mozilla.org/", "mozillaTab"];
5 của bạn và sử dụng lại thuộc tính
window.open["//www.mozilla.org/", "mozillaTab"];
5 đó trên trang của bạn để một cú nhấp chuột vào một liên kết khác có thể tải tài nguyên được tham chiếu trong một cửa sổ đã được tạo và hiển thị [do đó tăng tốc quá trình cho người dùng] và do đó biện minh cho . Việc sử dụng một giá trị thuộc tính
window.open["//www.mozilla.org/", "mozillaTab"];
5 duy nhất và sử dụng lại nó trong các liên kết sẽ thân thiện với tài nguyên người dùng hơn nhiều vì nó chỉ tạo một cửa sổ phụ duy nhất, cửa sổ này được tái sử dụng

Đây là một ví dụ nơi một cửa sổ phụ có thể được mở và sử dụng lại cho các liên kết khác

HTML

window.open["//www.mozilla.org/", "mozillaTab"];
5

JavaScript

window.open["//www.mozilla.org/", "mozillaTab"];
0

Chính sách cùng nguồn gốc

Nếu bối cảnh duyệt mới được mở không có cùng nguồn gốc, tập lệnh mở sẽ không thể tương tác [đọc hoặc viết] với nội dung của bối cảnh duyệt

window.open["//www.mozilla.org/", "mozillaTab"];
9

window.open["//www.mozilla.org/", "mozillaTab"];
7

Để biết thêm thông tin, hãy tham khảo bài viết Chính sách cùng nguồn gốc

khả năng tiếp cận

Tránh dùng đến cửa sổ. mở[]

Tốt hơn là tránh dùng đến

window.open["//www.mozilla.org/", "mozillaTab"];
00, vì một số lý do

  • Các trình duyệt hiện đại cung cấp tính năng chặn cửa sổ bật lên
  • Các trình duyệt hiện đại cung cấp tính năng duyệt tab và người dùng trình duyệt hỗ trợ tab thích mở tab mới hơn mở cửa sổ mới trong hầu hết các tình huống
  • Người dùng có thể sử dụng các tính năng hoặc tiện ích mở rộng tích hợp sẵn của trình duyệt để chọn mở một liên kết trong một cửa sổ mới, trong cùng một cửa sổ, trong một tab mới, cùng một tab hay trong nền. Buộc phần mở đầu diễn ra theo một cách cụ thể, sử dụng
    window.open["//www.mozilla.org/", "mozillaTab"];
    
    00, sẽ khiến họ bối rối và bỏ qua thói quen của họ
  • Cửa sổ bật lên không có thanh công cụ menu, trong khi các tab mới sử dụng giao diện người dùng của cửa sổ trình duyệt;

Không bao giờ sử dụng cửa sổ. open[] nội tuyến trong HTML

Tránh

window.open["//www.mozilla.org/", "mozillaTab"];
71 hoặc
window.open["//www.mozilla.org/", "mozillaTab"];
72

Các giá trị

window.open["//www.mozilla.org/", "mozillaTab"];
73 không có thật này gây ra hành vi không mong muốn khi sao chép/kéo liên kết, mở liên kết trong tab/cửa sổ mới, đánh dấu trang hoặc khi JavaScript đang tải, lỗi hoặc bị vô hiệu hóa. Chúng cũng truyền đạt ngữ nghĩa không chính xác cho các công nghệ hỗ trợ, như trình đọc màn hình

Nếu cần, hãy sử dụng phần tử

window.open["//www.mozilla.org/", "mozillaTab"];
74 để thay thế. Nói chung, bạn chỉ nên sử dụng liên kết để điều hướng đến một URL thực

Luôn xác định các liên kết dẫn đến cửa sổ phụ

Xác định các liên kết sẽ mở ra các cửa sổ mới theo cách giúp điều hướng cho người dùng

window.open["//www.mozilla.org/", "mozillaTab"];
0

Mục đích là để cảnh báo người dùng về những thay đổi ngữ cảnh để giảm thiểu sự nhầm lẫn từ phía người dùng. việc thay đổi cửa sổ hiện tại hoặc bật lên các cửa sổ mới có thể khiến người dùng mất phương hướng [trong trường hợp cửa sổ bật lên, không có thanh công cụ nào cung cấp nút "Trước" để quay lại cửa sổ trước đó]

Khi những thay đổi cực đoan trong bối cảnh được xác định rõ ràng trước khi chúng xảy ra, thì người dùng có thể xác định xem họ có muốn tiếp tục hay không hoặc để họ có thể chuẩn bị cho thay đổi. không những họ sẽ không bị nhầm lẫn hoặc cảm thấy mất phương hướng, mà những người dùng có kinh nghiệm hơn có thể quyết định tốt hơn cách mở các liên kết đó [trong một cửa sổ mới hay không, trong cùng một cửa sổ, trong một tab mới hay không, trong "nền" hay không]

Làm cách nào để chuyển hướng trong JavaScript trong tab mới?

Cửa sổ JavaScript. phương thức open[] mở một cửa sổ trình duyệt mới. Sử dụng _blank trong tham số thứ hai của cửa sổ. phương thức open[] để mở URL trong tab mới bằng JavaScript .

Làm cách nào để mở một trang trong tab mới trong JavaScript?

open[] được sử dụng để mở một cửa sổ trình duyệt mới hoặc một tab mới tùy thuộc vào cài đặt trình duyệt và các giá trị tham số. Tiếp cận. Để mở một tab mới, chúng ta phải sử dụng _blank trong tham số thứ hai của cửa sổ. phương thức open[] .

Làm cách nào để chuyển hướng đến một URL mới trong JavaScript?

Điều này hoạt động giống như cách chuyển hướng đến bất kỳ URL nào trong javascript. .
Cách tiếp cận 1. Để chuyển hướng đến một URL tương đối trong JavaScript, bạn có thể sử dụng cửa sổ. địa điểm. href = '/đường dẫn'; . địa điểm. href trả về href [URL] của trang hiện tại. .
Cách tiếp cận 2. Để chuyển hướng đến một url tương đối, bạn có thể sử dụng. tài liệu

Chủ Đề