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

Page Redirection คืออะไร?

คุณอาจพบสถานการณ์ที่คุณคลิก URL เพื่อไปยังหน้า X แต่ภายในคุณถูกนำไปยังหน้าอื่น Y มันเกิดขึ้นเนื่องจาก page redirection. แนวคิดนี้จะแตกต่างจากJavaScript หน้ารีเฟรช

อาจมีสาเหตุหลายประการที่คุณต้องการเปลี่ยนเส้นทางผู้ใช้จากหน้าเดิม เรากำลังแสดงเหตุผลบางประการ -

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

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

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

Page Re-direction ทำงานอย่างไร

การปรับใช้ Page-Redirection มีดังต่อไปนี้

ตัวอย่าง 1

การเปลี่ยนเส้นทางเพจโดยใช้ JavaScript ที่ฝั่งไคลเอ็นต์นั้นค่อนข้างง่าย ในการเปลี่ยนเส้นทางผู้เยี่ยมชมไซต์ของคุณไปยังหน้าใหม่คุณเพียงแค่เพิ่มบรรทัดในส่วนหัวของคุณดังนี้

<html>
   <head>
      <script type = "text/javascript">
         <!--
            function Redirect() {
               window.location = "https://www.tutorialspoint.com";
            }
         //-->
      </script>
   </head>
   
   <body>
      <p>Click the following button, you will be redirected to home page.</p>
      
      <form>
         <input type = "button" value = "Redirect Me" onclick = "Redirect();" />
      </form>
      
   </body>
</html>

เอาต์พุต

ตัวอย่าง 2

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

<html>
   <head>
      <script type = "text/javascript">
         <!--
            function Redirect() {
               window.location = "https://www.tutorialspoint.com";
            }            
            document.write("You will be redirected to main page in 10 sec.");
            setTimeout('Redirect()', 10000);
         //-->
      </script>
   </head>
   
   <body>
   </body>
</html>

เอาต์พุต

You will be redirected to tutorialspoint.com main page in 10 seconds!

ตัวอย่างที่ 3

ตัวอย่างต่อไปนี้แสดงวิธีเปลี่ยนเส้นทางผู้เยี่ยมชมไซต์ของคุณไปยังหน้าอื่นตามเบราว์เซอร์ของพวกเขา

<html>
   <head>     
      <script type = "text/javascript">
         <!--
            var browsername = navigator.appName;
            if( browsername == "Netscape" ) {
               window.location = "http://www.location.com/ns.htm";
            } else if ( browsername =="Microsoft Internet Explorer") {
               window.location = "http://www.location.com/ie.htm";
            } else {
               window.location = "http://www.location.com/other.htm";
            }
         //-->
      </script>      
   </head>
   
   <body>
   </body>
</html>