实现访客查看同一链接,PC端和移动端显示不同页面的PHP代码

有网友问如何实现访客访问同一链接,PC端和移动端看到的页面不一样页面,要求PC端正常显示,移动端展现落地页。

之前有听说过别人使用这个样的功能,不仅屏蔽访客查看PC端,甚至屏蔽了移动端来访的蜘蛛,只对移动端的用户展现。

倒是没有见过已经写好的代码,但想到自己做的zblog和dedecms上有类似的功能,即PC端调用某一模板,移动端调用另一模板。

Zblog实现区别调用模板的代码如下:

{if $type=='index'&&$page=='1'}

    {if APPID_is_mobile()}
        {template:m_index}
    {else}
    {template:pc_index}
    {/if}
{else}
    {if APPID_is_mobile()}
    {template:list_news_m}
    {else}
    {template:list_news}
    {/if}
{/if}

Dedecms实现区别调用模板的代码如下:

<meta http-equiv="mobile-agent" content="format=xhtml;url={dede:global.cfg_mobileurl/}/index.php">
<script type="text/javascript">if (window.location.toString().indexOf('pref=padindex') != -1) {} else {
    if (/AppleWebKit.*Mobile/i.test(navigator.userAgent) || (/MIDP|SymbianOS|NOKIA|SAMSUNG|LG|NEC|TCL|Alcatel|BIRD|DBTEL|Dopod|PHILIPS|HAIER|LENOVO|MOT-|Nokia|SonyEricsson|SIE-|Amoi|ZTE/.test(navigator.userAgent))) {
      if (window.location.href.indexOf("?mobile") < 0) {
        try {
          if (/Android|Windows Phone|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent)) {
            window.location.href = "{dede:global.cfg_mobileurl/}/index.php";
          } else if (/iPad/i.test(navigator.userAgent)) {} else {}
        } catch(e) {}
      }
    }
  }</script>

通过上述两端代码我们可以看到,均是通过识别移动端设备的UA(如手机型号、操作系统)来实现跳转的,因此我们可以很简单的利用第二段代码(dedecms的识别设备ua跳转代码)来实现我们要求的实现访客查看同一链接,PC端和移动端显示不同页面的功能。

我们只需要将{dede:global.cfg_mobileurl/}/index.php替换成我们想要展现的页面的就可以了。

本站所有内容仅限用于学习和研究目的,程序仅供本地断网测试,转载请说明出处!
站群SEO » 实现访客查看同一链接,PC端和移动端显示不同页面的PHP代码

发表评论

欢迎 访客 发表评论

聚合全网站群程序及推送工具!

联系站长 联系客服