เปลี่ยนเส้นทางจากหน้า 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.