Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk melaksanakan lompat automatik ke halaman mudah alih dalam php

Bagaimana untuk melaksanakan lompat automatik ke halaman mudah alih dalam php

PHPz
PHPzasal
2023-04-26 10:32:561147semak imbas

Dalam reka bentuk web, melompat ke halaman mudah alih secara automatik adalah sangat penting untuk tapak web. Memandangkan semakin ramai orang menggunakan telefon bimbit untuk menyemak imbas tapak web, mengakses laman web dengan pengalaman yang disegerakkan dan cekap telah menjadi kelebihan yang mesti dimiliki. Dalam PHP, bagaimana untuk melompat ke halaman mudah alih secara automatik? Artikel ini akan membincangkan isu ini.

1 Tentukan peranti semasa

Dalam PHP, untuk melompat ke halaman secara automatik pada telefon mudah alih, anda perlu menentukan jenis peranti yang sedang diakses. Terdapat cara yang berbeza untuk melakukan ini, satu cara biasa ialah mengesan maklumat pengepala permintaan HTTP (HTTP_USER_AGENT) untuk mendapatkan maklumat tentang peranti semasa. Secara amnya, maklumat pengepala permintaan telefon mudah alih dan komputer adalah berbeza Dengan mengesan senarai ini, jenis peranti yang sedang diakses boleh ditentukan.

Berikut ialah contoh kod PHP untuk menentukan jenis peranti semasa:

$is_mobile = false; // 初始化变量为false,表示当前设备类型不是移动设备

// 检测HTTP_USER_AGENT请求头信息,判断当前设备类型
if(isset($_SERVER['HTTP_USER_AGENT'])){

    $user_agents = array("iPhone","iPad","Android","webOS","BlackBerry","iPod","Symbian","IsGeneric");

    foreach($user_agents as $ua){
        if(strpos($_SERVER['HTTP_USER_AGENT'], $ua) !== false){
            // 判断是否为移动设备,如果包含上述字符串,即表示为移动设备
            $is_mobile = true;
            break;
        }
    }
}

2 Lompat berdasarkan jenis peranti

Selepas mendapatkan jenis peranti semasa, Seterusnya , anda boleh melompat ke halaman yang sepadan secara automatik mengikut jenis peranti. Ini juga merupakan salah satu kunci untuk mencapai penyesuaian mudah alih.

Mengambil halaman utama tapak sebagai contoh, kod berikut menunjukkan cara untuk melompat ke halaman yang sepadan mengikut jenis peranti yang berbeza:

if($is_mobile){ 
    header('Location: /m/index.php'); // 跳转到移动端首页地址
    exit(); 
}
else{  
    header('Location: /index.php'); // 跳转到PC端首页地址
    exit(); 
}

Kod di atas melaksanakan logik berikut:

  • Jika jenis peranti semasa ialah peranti mudah alih, lompat ke alamat halaman utama mudah alih (/m/index.php)
  • Jika jenis peranti semasa ialah PC, lompat ke Alamat halaman utama PC ( /index.php)

Perlu diambil perhatian bahawa jika halaman mudah alih dan halaman PC tapak adalah berbeza sama sekali, seperti struktur halaman, gaya, dll. adalah berbeza , anda perlu membuat halaman baharu untuk halaman mudah alih dan halaman PC membuat fail yang berbeza untuk setiap halaman.

3. Optimumkan lompat automatik

Apabila melaksanakan lompat automatik, anda harus memberi perhatian kepada isu berikut:

  1. Kesan sama ada cache digunakan

Apabila melompat ke halaman yang sepadan secara automatik, anda harus memberi perhatian sama ada cache penyemak imbas telah dikemas kini. Jika cache penyemak imbas tidak dikemas kini, lompatan automatik akan gagal. Oleh itu, anda perlu menyemak sama ada tetapan cache dilumpuhkan dan sama ada tetapan pengepala HTTP yang berkaitan adalah munasabah.

Berikut ialah contoh:

if($is_mobile){ 
    header('Cache-Control: no-cache, no-store, must-revalidate');
    header('Pragma: no-cache');
    header('Expires: 0');
    
    header('Location: /m/index.php'); // 跳转到移动端首页地址
    exit(); 
}
else{  
    header('Cache-Control: no-cache, no-store, must-revalidate');
    header('Pragma: no-cache');
    header('Expires: 0');
    
    header('Location: /index.php'); // 跳转到PC端首页地址
    exit(); 
}
  1. Elakkan lompatan tanpa had

Apabila melaksanakan kod lompat automatik, perhatian khusus perlu diberikan untuk mengelakkan lompat tak terhingga Keadaan lompat. Sebaik sahaja masalah ini berlaku, halaman tidak akan dipaparkan dengan betul apabila pengguna melawat tapak.

Berikut ialah kod sampel untuk mengelakkan lompatan tak terhingga:

if(isset($_SERVER['HTTP_REFERER']) && strpos($_SERVER['HTTP_REFERER'], 'http(s)://'.$_SERVER['HTTP_HOST']) !== false){
    // 如果当前访问页地址与目标跳转页地址一致,则不进行跳转
    exit(); 
}

if($is_mobile){ 
    header('Cache-Control: no-cache, no-store, must-revalidate');
    header('Pragma: no-cache');
    header('Expires: 0');
    
    header('Location: /m/index.php'); // 跳转到移动端首页地址
    exit(); 
}
else{  
    header('Cache-Control: no-cache, no-store, must-revalidate');
    header('Pragma: no-cache');
    header('Expires: 0');
    
    header('Location: /index.php'); // 跳转到PC端首页地址
    exit(); 
}

Dalam kod di atas, logik ini melaksanakan dua fungsi berikut:

  • Jika alamat halaman yang sedang dilawati adalah konsisten dengan alamat halaman lompat sasaran, tiada lompatan akan dilakukan
  • Untuk mengelakkan lompatan tanpa had dan ralat kod yang membawa kepada lompatan tanpa had dan ranap laman web

4. Ringkasan

Melompat ke halaman mudah alih secara automatik merupakan bahagian yang sangat penting dalam pembangunan web, yang boleh membantu tapak meningkatkan kecekapan akses dan pengalaman pengguna. Untuk melaksanakan lompatan automatik dalam PHP, anda boleh menentukan jenis peranti semasa dan kemudian melompat mengikut halaman yang sepadan. Dengan mengoptimumkan dan menambah baik kod lompat automatik, kami boleh memastikan kelancaran penyiapan fungsi lompat, membawa pengalaman pengguna yang lebih baik dan meningkatkan prestasi tapak web.

Atas ialah kandungan terperinci Bagaimana untuk melaksanakan lompat automatik ke halaman mudah alih dalam php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn