2010-07-20 35 views
85

Tôi phải làm gì để có một chức năng trên một trang web mà nó nói nó sẽ chuyển hướng bạn đến trang web trong 3 giây hoặc lâu hơn?Chuyển hướng trang web sau một khoảng thời gian nhất định

+2

bản sao có thể có của [Làm thế nào tôi có thể chuyển hướng đến một trang (nhà) qua một trang khác (trang thành công), nơi một số thông báo thành công sẽ được hiển thị?] (Http://stackoverflow.com/questions/2949301/how-can -i-chuyển hướng-đến-một-trang-nhà-qua-một-trang-trang-trang-nơi-một-suc) – kennytm

+0

Tôi chỉ tò mò, tại sao bạn lại muốn làm điều đó? Mỗi lần tôi truy cập trang như vậy, tôi muốn được hướng dẫn trong 0 giây. – allesklar

+0

@allesklar xin lỗi vì trả lời muộn. Tôi đang phát triển một trang web và tôi muốn xem liệu có dễ dàng chuyển đổi từ trình chỉnh sửa mã sang trình duyệt web mà không phải nhấn làm mới mọi lúc không. – codedude

Trả lời

138
<meta http-equiv="refresh" content="3;url=http://www.google.com/" /> 
+0

Thankx. Tác phẩm của nó cho tôi ... –

50

Bạn đang có lẽ tìm kiếm các metarefresh tag:

<html> 
    <head> 
     <meta http-equiv="refresh" content="3;url=http://www.somewhere.com/" /> 
    </head> 
    <body> 
     <h1>Redirecting in 3 seconds...</h1> 
    </body> 
</html> 

Lưu ý rằng việc sử dụng metarefresh bị phản đối và tán thành những ngày này, nhưng đôi khi đó là lựa chọn khả thi duy nhất (ví dụ, nếu bạn không thể làm thế hệ phía máy chủ của các tiêu đề chuyển hướng HTTP và/hoặc bạn cần hỗ trợ các máy khách không phải JavaScript, v.v.).

4

Cách đơn giản nhất là sử dụng thẻ META HTML như thế này:

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

WikiPedia

36

Nếu bạn muốn kiểm soát tốt hơn bạn có thể sử dụng javascript thay vì sử dụng thẻ meta. Điều này sẽ cho phép bạn có một hình ảnh của một số loại, ví dụ: đếm ngược.

Đây là một cách tiếp cận rất cơ bản sử dụng setTimeout()

<html> 
 
    <body> 
 
    <p>You will be redirected in 3 seconds</p> 
 
    <script> 
 
     var timer = setTimeout(function() { 
 
      window.location='http://example.com' 
 
     }, 3000); 
 
    </script> 
 
</body> 
 
</html>

+0

Đây sẽ là cách để đi nếu bạn muốn văn bản tự động đếm ngược xuống 0 trước khi chuyển hướng. Sử dụng bộ hẹn giờ 1 giây, trong đó chức năng hẹn giờ cập nhật văn bản HTML và sau đó bắt đầu bộ hẹn giờ 1 giây mới, cho đến khi 3 giây trôi qua, sau đó thực hiện chuyển hướng. –

+0

hộp đoạn mã chạy không hoạt động –

2

Đặt HTML sau mã chuyển hướng giữa thẻ và mã HTML của bạn.

<meta HTTP-EQUIV="REFRESH" content="3; url=http://www.yourdomain.com/index.html">

Mã chuyển hướng HTML trên sẽ chuyển hướng truy cập của bạn đến một trang web ngay lập tức. Nội dung = "3; có thể được thay đổi để số giây bạn muốn trình duyệt phải đợi trước khi chuyển hướng 4, 5, 8, 10 hoặc 15 giây, vv

0

Sử dụng mã javascript đơn giản này để chuyển hướng trang khác. trang sử dụng khoảng thời gian cụ thể ...

Vui lòng thêm mã này vào trang trang web của bạn, đó là bạn muốn chuyển hướng:

<script type="text/javascript"> 
(function(){ 
    setTimeout(function(){ 
    window.location="http://brightwaay.com/"; 
    },3000); /* 1000 = 1 second*/ 
})(); 
</script> 
+0

'' là một tùy chọn tốt hơn vì nó đơn giản hơn và hoạt động không hỗ trợ JavaScript. – Edward

+0

bạn là đúng bro ... nhưng nó phụ thuộc vào tình hình .. đôi khi chúng ta cần phải chuyển hướng trên sự kiện cụ thể cho rằng JS là lựa chọn tốt nhất. –

+0

Tôi hiểu ý bạn là "Sunny S.M". Mặc dù thẻ meta nên được sử dụng hầu như luôn luôn, có thể có các trường hợp cụ thể như của bạn trong đó JavaScript sẽ là tùy chọn duy nhất. – Edward

9

Dưới đây là một đầy đủ (nhưng đơn giản) ví dụ về chuyển hướng sau X giây , trong khi cập nhật div bộ đếm:

<html> 
<body> 
    <div id="counter">5</div> 
    <script> 
     setInterval(function() { 
      var div = document.querySelector("#counter"); 
      var count = div.textContent * 1 - 1; 
      div.textContent = count; 
      if (count <= 0) { 
       window.location.href="https://example.com"; 
      } 
     }, 1000); 
    </script> 
</body> 
</html> 

Nội dung ban đầu của số counter div là số giây chờ đợi.

+0

Điều này không hoạt động cho đến khi tôi thay thế 'location.href =" https://example.com ";' bằng 'window.location = 'https: // example.com'' – NateH06

+0

Cảm ơn, câu trả lời đã chỉnh sửa. – noamtm

Các vấn đề liên quan