有网友问如何实现访客访问同一链接,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代码
站群SEO » 实现访客查看同一链接,PC端和移动端显示不同页面的PHP代码