Hướng dẫn how do i redirect a page in javascript? - làm cách nào để chuyển hướng một trang trong javascript?


Tìm hiểu cách chuyển hướng đến một trang web khác bằng JavaScript.


Chuyển hướng một trang web

Có một vài cách để chuyển hướng đến một trang web khác với JavaScript. Những cái phổ biến nhất là location.hreflocation.replace:

Thí dụ

// mô phỏng một nhấp chuột chuột: window.location.href = "http://www.w3schools.com";
window.location.href = "http://www.w3schools.com";

// mô phỏng chuyển hướng http: window.location.replace ("http://www.w3schools.com");
window.location.replace("http://www.w3schools.com");

Hãy tự mình thử »

Lưu ý: Sự khác biệt giữa HREF và thay thế, là replace() sẽ xóa URL của tài liệu hiện tại khỏi lịch sử tài liệu, có nghĩa là không thể sử dụng nút "Quay lại" để điều hướng trở lại tài liệu gốc. The difference between href and replace, is that replace() removes the URL of the current document from the document history, meaning that it is not possible to use the "back" button to navigate back to the original document.



Trước khi tôi bắt đầu, JQuery là một thư viện JavaScript được sử dụng để thao tác DOM. Vì vậy, bạn không nên sử dụng jQuery cho một chuyển hướng trang.

Một trích dẫn từ jquery.com:

Mặc dù jQuery có thể chạy mà không có vấn đề lớn trong các phiên bản trình duyệt cũ hơn, chúng tôi không chủ động kiểm tra jQuery trong đó và thường không sửa lỗi có thể xuất hiện trong đó.

Nó đã được tìm thấy ở đây: https://jquery.com/browser-support/

Vì vậy, jQuery không phải là một giải pháp cuối cùng và tất cả cho khả năng tương thích ngược.

Giải pháp sau đây sử dụng JavaScript RAW hoạt động trong tất cả các trình duyệt và đã được tiêu chuẩn trong một thời gian dài để bạn không cần bất kỳ thư viện nào để hỗ trợ trình duyệt chéo.

Trang này sẽ chuyển hướng đến Google sau 3000 mili giâyGoogle after 3000 milliseconds

<!DOCTYPE html>
<html>
    <head>
        <title>example</title>
    </head>
    <body>
        <p>You will be redirected to google shortly.</p>
        <script>
            setTimeout(function(){
                window.location.href="http://www.google.com"; // The URL that will be redirected too.
            }, 3000); // The bigger the number the longer the delay.
        </script>
    </body>
</html>

Các tùy chọn khác nhau như sau:

window.location.href="url"; // Simulates normal navigation to a new page
window.location.replace("url"); // Removes current URL from history and replaces it with a new URL
window.location.assign("url"); // Adds new URL to the history stack and redirects to the new URL

window.history.back(); // Simulates a back button click
window.history.go(-1); // Simulates a back button click
window.history.back(-1); // Simulates a back button click
window.navigate("page.html"); // Same as window.location="url"

Khi sử dụng thay thế, nút quay lại sẽ không quay trở lại trang chuyển hướng, như thể nó không bao giờ có trong lịch sử. Nếu bạn muốn người dùng có thể quay lại trang chuyển hướng thì hãy sử dụng window.location.href hoặc

window.location.href="url"; // Simulates normal navigation to a new page
window.location.replace("url"); // Removes current URL from history and replaces it with a new URL
window.location.assign("url"); // Adds new URL to the history stack and redirects to the new URL

window.history.back(); // Simulates a back button click
window.history.go(-1); // Simulates a back button click
window.history.back(-1); // Simulates a back button click
window.navigate("page.html"); // Same as window.location="url"
0. Nếu bạn sử dụng một tùy chọn cho phép người dùng quay lại trang chuyển hướng, hãy nhớ rằng khi bạn nhập trang chuyển hướng, nó sẽ chuyển hướng bạn trở lại. Vì vậy, hãy xem xét điều đó khi chọn một tùy chọn cho chuyển hướng của bạn. Trong các điều kiện mà trang chỉ chuyển hướng khi người dùng thực hiện hành động sau đó có trang trong lịch sử nút quay lại sẽ ổn. Nhưng nếu trang tự động chuyển hướng thì bạn nên sử dụng thay thế để người dùng có thể sử dụng nút quay lại mà không bị buộc phải quay lại trang mà chuyển hướng gửi.

Bạn cũng có thể sử dụng dữ liệu meta để chạy chuyển hướng trang như sau.

Meta làm mới

<meta http-equiv="refresh" content="0;url=http://evil.example/" />

Vị trí meta

<meta http-equiv="location" content="URL=http://evil.example" />

Căn cứ chiếm quyền điều khiển

<base href="http://evil.example/" />

Nhiều phương pháp khác để chuyển hướng ứng dụng khách không nghi ngờ của bạn đến một trang mà họ có thể không muốn đi có thể được tìm thấy trên trang này (không ai trong số họ phụ thuộc vào jQuery):

https://code.google.com/p/html5security/wiki/RedirectionMethods

Tôi cũng muốn chỉ ra, mọi người không thích được chuyển hướng ngẫu nhiên. Chỉ chuyển hướng người khi thực sự cần thiết. Nếu bạn bắt đầu chuyển hướng mọi người ngẫu nhiên, họ sẽ không bao giờ truy cập trang web của bạn nữa.

Đoạn tiếp theo là giả thuyết:

Bạn cũng có thể được báo cáo là một trang web độc hại. Nếu điều đó xảy ra thì khi mọi người nhấp vào liên kết đến trang web của bạn, trình duyệt người dùng có thể cảnh báo họ rằng trang web của bạn là độc hại. Điều cũng có thể xảy ra là các công cụ tìm kiếm có thể bắt đầu giảm xếp hạng của bạn nếu mọi người đang báo cáo trải nghiệm tồi tệ trên trang web của bạn.

Vui lòng xem lại hướng dẫn của Google WebMaster về chuyển hướng: https://support.google.com/webmasters/answer/2721217?hl=en&ref_topic=6001971

Đây là một trang nhỏ thú vị giúp bạn ra khỏi trang.

<!DOCTYPE html>
<html>
    <head>
        <title>Go Away</title>
    </head>
    <body>
        <h2>Go Away</h2>
        <script>
            setTimeout(function(){
                window.history.back();
            }, 3000);
        </script>
    </body>
</html>

Nếu bạn kết hợp hai ví dụ trang với nhau, bạn sẽ có một vòng lặp lại trẻ sơ sinh sẽ đảm bảo rằng người dùng của bạn sẽ không bao giờ muốn sử dụng trang web của bạn nữa.

Làm cách nào để chuyển hướng một trang web bằng JavaScript?

Có một số phương pháp để chuyển hướng đến một trang web khác bằng JavaScript ...
HREF: Nó được sử dụng để đặt hoặc trả về URL hoàn chỉnh của trang hiện tại ..
Thay thế (): Nó được sử dụng để thay thế tài liệu hiện tại bằng tài liệu được chỉ định ..
gán (): nó được sử dụng để tải một tài liệu mới ..

Chúng ta có thể chuyển hướng một trang bằng JavaScript không?

Trong JavaScript, chuyển hướng trang rất đơn giản.Đối tượng vị trí của đối tượng cửa sổ là một thuộc tính.Một trang web có thể được chuyển hướng theo một số cách.A web page can be redirected in a number of ways.

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

Cách chuyển hướng đến một trang khác trong HTML.Để chuyển hướng một trang HTML sang trang khác, bạn cần thêm một thẻ bên trong phần của trang HTML cũ.Phần của tài liệu HTML chứa siêu dữ liệu hữu ích cho trình duyệt, nhưng vô hình khi người dùng xem trang.add a tag inside the section of the old HTML page. The section of an HTML document contains metadata that is useful for the browser, but invisible to users viewing the page.

Làm cách nào để chuyển hướng một phần cụ thể của trang bằng JavaScript?

Bạn cần thêm thuộc tính ID ID vào phần bạn muốn hiển thị và sử dụng cùng một ID trong thuộc tính HREF với số##trong thẻ neo.Vì vậy, trên một liên kết cụ thể, bạn sẽ được chuyển hướng đến phần có cùng một đề cập ID trong thẻ neo.add ” id attribute” to the section you want to show and use the same id in href attribute with “#” in the anchor tag. So that On click a particular link, you will be redirected to the section that has same id mention in anchor tag.