检测到移动设备时更改表单操作网址?

时间:2015-05-26 08:54:16

标签: jquery forms mobile action

我使用的是一个简单的表单:<form class="myform" action="desktop.php" method="post" name="none">

但是现在我想要他检测到用户移动时表单动作网址是不同的(mobile.php)。那可能吗?也许用jquery?

2 个答案:

答案 0 :(得分:0)

您可以使用以下代码检查移动设备并更改表单的操作,并且不要忘记包含jQuery CDN:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function() {
  if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {
    $('.myform').attr('action', 'mobile.php');
  }
});
</script>

答案 1 :(得分:0)

什么是移动设备?智能手机,平板电脑,亚笔记本,几乎是台式机操作系统的平板电脑?

brance的答案为您提供了一个很好的近似值,可以捕获所有移动用户的70%,但总会有一些用户将浏览器设置为桌面浏览器或使用更具异国情调的浏览器,这不是由测试字符串标识。如果例如firefoxOS确实在一两年内获得了一些基础怎么办?你必须定期调整测试字符串。

移动设备和固定设备之间的差异越来越大。你真的需要在表单动作中加以区分吗?也许,根据您的使用情况,最好只询问用户(通过表单中的复选框),如果他们在移动设备或固定设备上。

技术理念: 请参阅https://developer.mozilla.org/de/docs/Web/API/Window/matchMedia,有一个用于检测媒体查询属性的JavaScript API。但同样,并非移动设备上的所有浏览器都可能将其属性设置为快速识别为移动设备