我可以使用javascript来确定屏幕是否是触控设备,但我无法将其转换为PHP以包含特定文件。
<script>
function isTouchDevice() {
return 'ontouchstart' in window || !!(navigator.msMaxTouchPoints);
}
if(isTouchDevice()) {
document.getElementById('touch').value = 1;
} else {
document.getElementById('touch').value = 0;
}
</script>
<body>
<input type='hidden' id='touch' value='0'/>
<?php
// This is where i need help
// and yes...i know the code below is not proper php its just what i want to achieve.
-- if ([touch screen is true]) then....
include ("sections/blog_widget_mobile.php");
else {
include ("sections/blog_widget.php");
}
?>
我找不到javascript函数isTouchDevice()的php版本,所以我认为最好的方法是将值应用于html元素并尝试通过php检索该值。
有人可以帮忙吗?
感谢任何建议
答案 0 :(得分:2)
使用jQuery动态加载文件。使用javascript检测ontouchstart。
<script>
if('ontouchstart' in document.documentElement) {
$(document.body).load( "sections/blog_widget_mobile.php" );
} else {
$(document.body).load( "sections/blog_widget.php" );
}
</script>
答案 1 :(得分:0)
即使我不推荐这个:
如果您确实需要包含特定的PHP文件(eG为触摸屏用户执行额外的SQL查询),您可以测试$_SERVER['HTTP_USER_AGENT']
- 变量是否包含一些 - 经常使用的 - 用于移动设备的字符串用户代理。
This List可以帮到你。
当然,您手动需要找到这些(有许多不同的用户代理!)并不时更新它们。有些用户可能不会注册为&#34;触摸设备用户&#34;,主要是因为他们使用不寻常的浏览器。