เปลี่ยนเส้นทางจากหน้า HTML


1578

เป็นไปได้ไหมที่จะตั้งค่าหน้า HTML พื้นฐานเพื่อเปลี่ยนเส้นทางไปยังหน้าอื่นขณะโหลด


28
ในการปฏิบัติตามมาตรฐานเว็บที่ทันสมัยและมีฟังก์ชั่นข้ามเบราว์เซอร์ฉันต้องการใช้ตัวสร้างการเปลี่ยนเส้นทาง
Patartics Milán

1
ใช้. htaccess หรือ IIS เทียบเท่าเพื่อทำการเปลี่ยนเส้นทางฝั่งเซิร์ฟเวอร์ ด้วยวิธีนี้แม้ว่าหน้าทางกายภาพของคุณจะหายไปการเปลี่ยนเส้นทางจะยังคงใช้งานได้
flith

1
insider.zone/tools/client-side-url-redirect-generatorเป็นเครื่องมือเล็ก ๆ ที่ช่วยให้เข้ากันได้
mackycheese21

2
เครื่องมือ insider.zone นั้นทำให้การเปลี่ยนเส้นทางของฉันเป็นตัวพิมพ์เล็กทั้งหมดทำให้เกิด 404 วินาที รวมทั้งไม่มีวิธีการติดต่อใครก็ตามที่ทำหน้าเกี่ยวกับเรื่องนี้
Dan Jacobson

คำตอบ:


2150

ลองใช้:

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

หมายเหตุ: วางไว้ในส่วนหัว

นอกจากนี้สำหรับเบราว์เซอร์รุ่นเก่าหากคุณเพิ่มลิงค์ด่วนในกรณีที่ไม่สามารถรีเฟรชได้อย่างถูกต้อง:

<p><a href="http://example.com/">Redirect</a></p>

จะปรากฏเป็น

การเปลี่ยนเส้นทาง

วิธีนี้จะช่วยให้คุณสามารถไปยังตำแหน่งที่คุณต้องการด้วยการคลิกเพิ่มเติม


151
การใช้การรีเฟรชเมตานั้นไม่ได้รับการสนับสนุนจาก World Wide Web Consortium (W3C) Ref: en.wikipedia.org/wiki/Meta_refresh ดังนั้นจึงขอแนะนำให้ใช้การเปลี่ยนเส้นทางเซิร์ฟเวอร์แทน การเปลี่ยนเส้นทาง JavaScript อาจไม่ทำงานในโทรศัพท์มือถือทั้งหมดเนื่องจากอาจปิดการใช้งาน JavaScript
NinethSense

61
FYI 0หมายถึงการรีเฟรชหลังจาก 0 วินาที คุณอาจต้องการให้เวลากับผู้ใช้ในการรู้ว่าเกิดอะไรขึ้น
เดนนิส

5
@Paul Draper ขึ้นอยู่กับเซิร์ฟเวอร์ที่คุณใช้งาน
Gal Margalit

9
ฉันเพิ่มการปิดแท็กเพื่อให้สอดคล้องกับข้อกำหนด XHTML5
ZenLulz

98
ความคิดเห็นของ @ NinethSense ทำให้การรีเฟรชเมตาดูเหมือนว่าการเปลี่ยนเส้นทาง JavaScript การรีเฟรช Meta ไม่ใช่ JS และจะยังคงทำงานได้เมื่อปิดการใช้งาน JS
Druska

1104

ฉันจะใช้ทั้งเมตาและโค้ด JavaScriptและจะมีลิงก์ในกรณี

<!DOCTYPE HTML>
<html lang="en-US">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="refresh" content="0; url=http://example.com">
        <script type="text/javascript">
            window.location.href = "http://example.com"
        </script>
        <title>Page Redirection</title>
    </head>
    <body>
        <!-- Note: don't tell people to `click` the link, just tell them that it is a link. -->
        If you are not redirected automatically, follow this <a href='http://example.com'>link to example</a>.
    </body>
</html>

เพื่อความสมบูรณ์ฉันคิดว่าวิธีที่ดีที่สุดถ้าเป็นไปได้คือใช้การเปลี่ยนเส้นทางเซิร์ฟเวอร์ดังนั้นให้ส่งรหัสสถานะ301 นี้เป็นเรื่องง่ายที่จะทำผ่านทาง.htaccessไฟล์โดยใช้Apacheหรือผ่านทางปลั๊กอินจำนวนมากโดยใช้WordPress ฉันแน่ใจว่ามีปลั๊กอินสำหรับระบบการจัดการเนื้อหาที่สำคัญทั้งหมด นอกจากนี้ cPanel ยังมีการกำหนดค่าที่ง่ายมากสำหรับการเปลี่ยนเส้นทาง 301 หากคุณมีการติดตั้งบนเซิร์ฟเวอร์ของคุณ


12
หน้าเปลี่ยนเส้นทางนี้สามารถกระชับได้มากขึ้นกับ HTML5: pastebin.com/2qmfUZMk (ซึ่งใช้ได้กับเบราว์เซอร์ทั้งหมดและผ่านการตรวจสอบความถูกต้องของ w3c)
enyo

9
@enyo ฉันไม่ใช่แฟนตัวยงของการทิ้งbodyแท็กและสิ่งที่คล้ายกัน บางทีมันอาจตรวจสอบและอาจทำงานในเบราว์เซอร์ทั่วไป ฉันแน่ใจว่ามีบางกรณีที่มันทำให้เกิดปัญหาและผลประโยชน์ที่ดูเหมือนเล็ก
Billy Moon

9
@Fricker เพราะพวกเขาอาจจะไม่ได้คลิก พวกเขาอาจควบคุมผ่านเสียงแตะหรือนำทางในบางวิธีที่ไม่รู้จัก มันเป็นแนวทางในการช่วยในการเข้าถึงเพื่อปฏิบัติตามมาตรฐานสำหรับการควบคุมเช่นการใช้แอตทริบิวต์ HTML A มาตรฐานสำหรับลิงก์และคิดถึงมันและสื่อสารเป็นลิงก์และไม่กำหนดว่าบุคคลต้องโต้ตอบกับมันอย่างไร นอกจากนี้click hereไม่แนะนำให้มีลิงก์เนื่องจากโปรแกรมอ่านหน้าจอจะนำทางได้ยากขึ้น ลิงก์ควรอยู่ในข้อความที่อธิบายถึงปลายทางดังนั้นผู้ใช้จึงรู้ว่าพวกเขาจะมาถึงที่ใดก่อนที่จะติดตามและพวกเขาโต้ตอบกับมัน
Billy Moon

2
@BillyMoon ที่จริงแล้วความหมายของ "คลิก" ได้รับการโหลดมากเกินไปเพื่อรวมความหมายทั้งหมดเหล่านั้นด้วย "คลิก" จะทำได้ดี
Pacerier

2
@BillyMoon ภายใต้สถานการณ์ที่เป็นครั้งคราวที่เบราว์เซอร์ละเว้นเมตารีเฟรชค่า 0? ขอบคุณ!
Gal Margalit

125

JavaScript

<script type="text/javascript">
    window.location.href = "http://example.com";
</script>

เมตาแท็ก

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

40

ฉันจะยังเพิ่มการเชื่อมโยงที่ยอมรับที่จะช่วยให้คุณSEOคน:

<link rel="canonical" href="http://www.example.com/product.php?item=swedish-fish"/>

3
คุณจะใช้ลิงก์แบบบัญญัตินอกเหนือจากการเปลี่ยนเส้นทางหรือไม่ en.wikipedia.org/wiki/Canonical_link_elementกล่าวว่า Google ต้องการใช้การเปลี่ยนเส้นทางแทนการเชื่อมโยงแบบบัญญัติ
LarsH

1
@larsH ดังนั้นสิ่งที่สำคัญที่สุดสำหรับ SEO มันคือลิงค์เปลี่ยนเส้นทางหรือหน้าปลายทางสุดท้าย?
Chakotay


28

เมตาแท็กต่อไปนี้ซึ่งอยู่ระหว่างส่วนหัวจะบอกให้เบราว์เซอร์เปลี่ยนเส้นทาง:

<meta http-equiv="Refresh" content="seconds; url=URL"> 

แทนที่วินาทีด้วยจำนวนวินาทีเพื่อรอก่อนที่จะเปลี่ยนเส้นทางและแทนที่ URL ด้วย URL ที่คุณต้องการเปลี่ยนเส้นทาง

หรือคุณสามารถเปลี่ยนเส้นทางด้วย JavaScript วางสิ่งนี้ไว้ภายในแท็กสคริปต์ที่ใดก็ได้บนหน้าเว็บ:

window.location = "URL"

28

นี่คือผลรวมของทุกคำตอบก่อนหน้านี้รวมถึงโซลูชั่นเพิ่มเติมโดยใช้ HTTP Refresh Header ผ่าน. htaccess

1. ส่วนหัวรีเฟรช HTTP

ก่อนอื่นคุณสามารถใช้. htaccess เพื่อตั้งค่าส่วนหัวรีเฟรชเช่นนี้

Header set Refresh "3"

นี่คือเทียบเท่า "คงที่" ของการใช้header()ฟังก์ชั่นในPHP

header("refresh: 3;");

โปรดทราบว่าทุกเบราว์เซอร์ไม่รองรับการแก้ปัญหานี้

2. JavaScript

ด้วยURLสำรอง:

<script>
    setTimeout(function(){location.href="http://example.com/alternate_url.html"} , 3000);
</script>

ไม่มี URL สำรอง:

<script>
    setTimeout("location.reload(true);",timeoutPeriod);
</script>

ผ่าน jQuery:

<script>
    window.location.reload(true);
</script>

3. Meta Refresh

คุณสามารถใช้การรีเฟรชเมตาเมื่อการพึ่งพา JavaScript และส่วนหัวของการเปลี่ยนเส้นทางไม่พึงประสงค์

ด้วย URL สำรอง:

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

ไม่มี URL สำรอง:

<meta http-equiv="Refresh" content="3">

การใช้<noscript>:

<noscript>
    <meta http-equiv="refresh" content="3" />
</noscript>

เลือก

ตามที่ Billy Moon แนะนำคุณสามารถให้ลิงค์รีเฟรชในกรณีที่มีบางอย่างผิดปกติ:

หากคุณไม่ได้เปลี่ยนเส้นทางโดยอัตโนมัติ: <a href='http://example.com/alternat_url.html'>Click here</a>

ทรัพยากร


12
ตัวอย่าง "Via jQuery" ของคุณไม่ได้ใช้ jQuery ใด ๆ
Justin Johnson

2
อย่าโทรsetTimeoutด้วยสตริง ผ่านฟังก์ชั่นแทน
Oriol

"ส่วนหัวรีเฟรช HTTP ผ่าน. htaccess" - ทำไมจึงมีความเกี่ยวข้องในคำถามที่ถามเกี่ยวกับการเปลี่ยนเส้นทางจากหน้า HTML
ลดกิจกรรม

26

มันจะดีกว่าที่จะตั้งขึ้น301 เปลี่ยนเส้นทาง ดู Webmaster Tools บทความของ Google 301 เปลี่ยนเส้นทาง


13
คำถามนี้ถามถึงหน้า. html แบบพื้นฐานโดยเฉพาะ ฉันเดาว่าผู้ถามไม่สามารถแก้ไข. htaccess หรือคล้ายกันได้ (ตัวอย่างเช่นการใช้ Github Pages หรือโฮสติ้งที่ จำกัด ในทำนองเดียวกัน) 301 ไม่สามารถใช้งานได้ในกรณีเช่นนี้
Nicolas Raoul

26

หากคุณรอคอยที่จะปฏิบัติตามมาตรฐานเว็บสมัยใหม่คุณควรหลีกเลี่ยงการเปลี่ยนเส้นทางเมตา HTML ธรรมดา หากคุณไม่สามารถสร้างรหัสฝั่งเซิร์ฟเวอร์คุณควรเลือกJavaScript redirectแทน

เพื่อรองรับเบราว์เซอร์ที่ปิดใช้งาน JavaScript ให้เพิ่มบรรทัดการเปลี่ยนเส้นทางเมตา HTML ไปที่noscriptองค์ประกอบ noscriptเปลี่ยนเส้นทาง meta ซ้อนกันรวมกับcanonicalแท็กจะช่วยให้การจัดอันดับของเครื่องมือค้นหาของคุณได้เป็นอย่างดี

หากคุณต้องการหลีกเลี่ยงการเปลี่ยนเส้นทางลูปคุณควรใช้ location.replace()ฟังก์ชัน JavaScript

รหัสการเปลี่ยนเส้นทาง URLฝั่งไคลเอ็นต์ที่เหมาะสมจะมีลักษณะดังนี้ (ด้วย Internet Explorer 8 และการแก้ไขที่ต่ำกว่าและไม่ล่าช้า):

<!-- Pleace this snippet right after opening the head tag to make it work properly -->

<!-- This code is licensed under GNU GPL v3 -->
<!-- You are allowed to freely copy, distribute and use this code, but removing author credit is strictly prohibited -->
<!-- Generated by http://insider.zone/tools/client-side-url-redirect-generator/ -->

<!-- REDIRECTING STARTS -->
<link rel="canonical" href="https://stackoverflow.com/"/>
<noscript>
    <meta http-equiv="refresh" content="0; URL=https://stackoverflow.com/">
</noscript>
<!--[if lt IE 9]><script type="text/javascript">var IE_fix=true;</script><![endif]-->
<script type="text/javascript">
    var url = "https://stackoverflow.com/";
    if(typeof IE_fix != "undefined") // IE8 and lower fix to pass the http referer
    {
        document.write("redirecting..."); // Don't remove this line or appendChild() will fail because it is called before document.onload to make the redirect as fast as possible. Nobody will see this text, it is only a tech fix.
        var referLink = document.createElement("a");
        referLink.href = url;
        document.body.appendChild(referLink);
        referLink.click();
    }
    else { window.location.replace(url); } // All other browsers
</script>
<!-- Credit goes to http://insider.zone/ -->
<!-- REDIRECTING ENDS -->

2
w3.org/TR/WCAG10-HTML-TECHS/#meta-elementรวมถึงรายละเอียดว่าทำไม<meta http-equiv="refresh"เลิกใช้งานโดย W3C
daxelrod

อาร์กิวเมนต์ที่ w3c จัดเตรียมไว้สำหรับการเปลี่ยนเส้นทาง HTML ยังใช้กับการเปลี่ยนเส้นทาง Javascript ด้วย นอกจากนี้การเปลี่ยนเส้นทาง Javascript จำเป็นต้องเปิดใช้งาน JavaScript ในทางตรงกันข้ามกับการเปลี่ยนเส้นทาง HTML ดังนั้นการเปลี่ยนเส้นทาง HTML จะดีกว่าการเปลี่ยนเส้นทาง Javascript อย่างเคร่งครัดในกรณีที่สามารถใช้ทั้งสองอย่างได้
สูงสุด

17

คุณสามารถใช้"การเปลี่ยนเส้นทาง" ของMETA :

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

หรือการเปลี่ยนเส้นทางJavaScript (โปรดทราบว่าผู้ใช้บางคนไม่ได้เปิดใช้งาน JavaScript จึงเตรียมโซลูชันสำรองไว้เสมอ)

<script language="javascript">
  window.location = "http://new.example.com/address";
</script>

แต่ฉันอยากจะแนะนำให้ใช้mod_rewriteถ้าคุณมีตัวเลือก


5
mod_rewrite (เท่านั้น) ใช้กับ Apache
พอลเดรเปอร์

1
เกี่ยวกับ Apache: ทำไม mod_rewrite และไม่ใช่ Redirect directive ที่ไม่มีโมดูลพิเศษ?
vog

14

ทันทีที่โหลดเพจinitฟังก์ชันจะเริ่มทำงานและหน้าถูกเปลี่ยนเส้นทาง:

<!DOCTYPE html>
<html>
    <head>
        <title>Example</title>
        <script>
            function init()
            {
               window.location.href = "www.wherever.com";
            }
        </script>
    </head>

    <body onload="init()">
    </body>
</html>

10

วางรหัสต่อไปนี้ระหว่างแท็ก <HEAD> และ </HEAD> ของรหัส HTML ของคุณ:

<meta HTTP-EQUIV="REFRESH" content="0; url=http://example.com/index.html">

โค้ดเปลี่ยนเส้นทาง HTML ด้านบนจะเปลี่ยนเส้นทางผู้เยี่ยมชมของคุณไปยังหน้าเว็บอื่นทันที content="0;อาจจะเปลี่ยนไปเป็นจำนวนวินาทีที่คุณต้องการเบราว์เซอร์ที่จะรอก่อนที่จะเปลี่ยนเส้นทาง



9

ฉันพบปัญหาขณะทำงานกับแอปพลิเคชันjQuery Mobileซึ่งในบางกรณีแท็กส่วนหัว Meta ของฉันจะไม่สามารถเปลี่ยนเส้นทางได้อย่างถูกต้อง (jQuery Mobile ไม่อ่านส่วนหัวโดยอัตโนมัติสำหรับแต่ละหน้าดังนั้นการวาง JavaScript ก็ไม่มีประสิทธิภาพ ซับซ้อน) ฉันพบทางออกที่ง่ายที่สุดในกรณีนี้คือการเปลี่ยนเส้นทาง JavaScript โดยตรงไปยังเนื้อหาของเอกสารดังต่อไปนี้:

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <meta http-equiv="refresh" content="0;url=myURL" />
    </head>

    <body>
        <p>You are not logged in!</p>
        <script language="javascript">
            window.location = "myURL";
        </script>
    </body>
</html>

ดูเหมือนว่าจะใช้ได้ในทุกกรณีสำหรับฉัน


8

วิธีง่าย ๆ ที่เหมาะกับหน้าเว็บทุกประเภทเพียงเพิ่มmetaแท็กที่ส่วนหัว:

<html>
    <head>
        ...
        <meta HTTP-EQUIV="REFRESH" content="seconds; url=your.full.url/path/filename">
        ...
    </head>
    <body>
        Don't put much content, just some text and an anchor.
        Actually, you will be redirected in N seconds (as specified in content attribute).
        That's all.
        ...
    </body>
</html>

7

คุณควรใช้ JavaScript วางรหัสต่อไปนี้ในแท็กหัวของคุณ:

<script type="text/javascript">
 window.location.assign("http://www.example.com")
</script>

7

คุณสามารถเปลี่ยนเส้นทางอัตโนมัติโดยรหัสสถานะ HTTP 301 หรือ 302

สำหรับ PHP:

<?php
    Header("HTTP/1.1 301 Moved Permanently");
    Header("Location: http://www.redirect-url.com");
?>

6
นั่นไม่ใช่การเปลี่ยนเส้นทางจากหน้า HTML
bugmenot123

7

ฉันใช้สคริปต์ที่เปลี่ยนเส้นทางผู้ใช้จาก index.html ไปยังURL ที่เกี่ยวข้องของหน้าเข้าสู่ระบบ

<html>
  <head>
    <title>index.html</title>
  </head>
  <body onload="document.getElementById('lnkhome').click();">
    <a href="/Pages/Login.aspx" id="lnkhome">Go to Login Page<a>
  </body>
</html>

1
การเปลี่ยนเส้นทาง URL ในวิธีการข้างต้นสามารถเป็นญาติ เช่นคุณต้องการเปลี่ยนเส้นทางไปยังหน้าเข้าสู่ระบบหรือหน้าอื่น ๆ โดย index.html ในรูทของเว็บไซต์ ไม่จำเป็นต้องรู้ชื่อโดเมนของคุณ แต่เมื่อคุณตั้ง window.location.href = "xxx"; คุณต้องรู้จักชื่อโดเมน
Zolfaghari

6

เพียงเพื่อการวัดที่ดี:

<?php
header("Location: example@example.com", TRUE, 303);
exit;
?>

ตรวจสอบให้แน่ใจว่าไม่มีเสียงสะท้อนด้านบนของสคริปต์มิฉะนั้นจะถูกละเว้น http://php.net/manual/en/function.header.php


9
คำถามนี้ถามถึงหน้า. html แบบพื้นฐานโดยเฉพาะ ฉันเดาว่าผู้ถามไม่สามารถแก้ไข. htaccess หรือคล้ายกันได้ (ตัวอย่างเช่นการใช้ Github Pages หรือโฮสติ้งที่ จำกัด ในทำนองเดียวกัน) PHP ไม่สามารถใช้ได้ในกรณีเช่นนี้
Nicolas Raoul

ฉันจะพิจารณาบางสิ่งที่สร้างขึ้นโดย PHP (Pre-Hypertext Processor) เป็น "หน้า HTML พื้นฐาน" มันไม่มีที่ไหนเลยในคำถามที่พูดถึงประเภทของไฟล์
Edward




4

คุณไม่จำเป็นต้องใช้รหัส JavaScript สำหรับสิ่งนี้ เขียนสิ่งนี้ใน<head>ส่วนของหน้า HTML:

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

ทันทีที่หน้าโหลดที่ 0 วินาทีคุณสามารถไปที่หน้าของคุณ


1
สิ่งนี้ครอบคลุมอยู่ในคำตอบที่ยอมรับ & ความคิดเห็นยอดนิยม - พิจารณาแก้ไขคำตอบมากกว่าการโพสต์คำตอบที่ซ้ำกัน
RozzA

3

เท่าที่ฉันเข้าใจพวกเขาวิธีการทั้งหมดที่ฉันได้เห็นจนถึงตอนนี้สำหรับคำถามนี้ดูเหมือนจะเพิ่มตำแหน่งเก่าให้กับประวัติศาสตร์ หากต้องการเปลี่ยนเส้นทางของหน้า แต่ไม่มีตำแหน่งเก่าในประวัติฉันใช้replaceวิธีการ:

<script>
    window.location.replace("http://example.com");
</script>

2

นี่เป็นโซลูชันการเปลี่ยนเส้นทางที่มีทุกสิ่งที่ฉันต้องการ แต่ไม่พบในตัวอย่างข้อมูลที่สะอาดดีในการตัด & วาง

ตัวอย่างนี้มีข้อดีหลายประการ:

  • ช่วยให้คุณสามารถจับและรักษาพารามิเตอร์การสอบถามใด ๆ ที่ผู้คนมีใน URL ของพวกเขา
  • ทำให้ลิงก์เลิกใช้เพื่อหลีกเลี่ยงการแคชที่ไม่ต้องการ
  • ช่วยให้คุณแจ้งผู้ใช้เกี่ยวกับชื่อไซต์เก่าและใหม่
  • แสดงการนับถอยหลังที่ตั้งค่าได้
  • สามารถใช้สำหรับการเปลี่ยนเส้นทางลิงก์ลึกเป็นยังคงไว้ซึ่งพารามิเตอร์

วิธีใช้:

หากคุณย้ายทั้งไซต์จากนั้นบนเซิร์ฟเวอร์เก่าให้หยุดไซต์เดิมและสร้างอีกไซต์โดยใช้ไฟล์นี้เป็นไฟล์ index.html เริ่มต้นในโฟลเดอร์รูท แก้ไขการตั้งค่าไซต์เพื่อให้ข้อผิดพลาด 404 ถูกเปลี่ยนเส้นทางไปยังหน้า index.html นี้ สิ่งนี้จะดึงดูดผู้ที่เข้าใช้งานเว็บไซต์เก่าโดยมีลิงก์ไปยังหน้าย่อย ฯลฯ

ตอนนี้ไปที่แท็กเปิดสคริปต์และแก้ไขเว็บไซต์เก่าและที่อยู่เว็บไซต์ใหม่และเปลี่ยนค่าวินาทีตามต้องการ

บันทึกและเริ่มเว็บไซต์ของคุณ งานเสร็จ - เวลาสำหรับกาแฟ

<!DOCTYPE html>
<html>
<head>
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="NO-CACHE">
<META HTTP-EQUIV="PRAGMA" CONTENT="NO-CACHE">
<META HTTP-EQUIV="EXPIRES" CONTENT="Mon, 22 Jul 2002 11:12:01 GMT">
<style>
body { margin: 200px; font: 12pt helvetica; }
</style>

</head>
<body>

</body>
<script type="text/javascript">

// Edit these to suit your needs.
var oldsite = 'http://theoldsitename.com'
var newSite = "https://thenewsitename.com";
var seconds = 20;  // countdown delay.

var path = location.pathname;
var srch = location.search;
var uniq = Math.floor((Math.random() * 10000) + 1);
var newPath = newSite + path + (srch === '' ? "?" + uniq : srch + "&" + uniq); 


document.write ('<p>As part of hosting improvements, the system has been migrated from ' + oldsite + ' to</p>');
document.write ('<p><a href="' + newPath + '">' + newSite + '</a></p>');
document.write ('<p>Please take note of the new website address.</p>');
document.write ('<p>If you are not automatically redirected please click the link above to proceed.</p>');
document.write ('<p id="dvCountDown">You will be redirected after <span id = "lblCount"></span>&nbsp;seconds.</p>');

function DelayRedirect() {
    var dvCountDown = document.getElementById("dvCountDown");
    var lblCount = document.getElementById("lblCount");
    dvCountDown.style.display = "block";
    lblCount.innerHTML = seconds;
    setInterval(function () {
        seconds--;
        lblCount.innerHTML = seconds;
        if (seconds == 0) {
            dvCountDown.style.display = "none";
            window.location = newPath;
        }
    }, 1000);
}
DelayRedirect()

</script>
</html>


1

เปลี่ยนเส้นทางโดยใช้ JavaScript <noscript>ในกรณีที่ JS ปิดการใช้งาน

<script>
    window.location.replace("https://google.com");
</script>

<noscript>
    <a href="https://google.com">Click here if you are not redirected automatically.</a>
</noscript>

0

ใช้รหัสนี้:

<meta http-equiv="refresh" content="0; url=https://google.com/" />

โปรดใส่ใจ: ใส่ไว้ในแท็กหัว


ฉันไม่รู้ว่าทำไมคำตอบของฉันลงคะแนนสองครั้ง มันทำงานได้อย่างถูกต้อง
AmerllicA

โซลูชันเดียวกันที่โพสต์โดยคุณโพสต์แล้วโดยผู้ใช้หลายคนก่อนหน้านี้
ราหุลชาห์


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.