检测到移动设备时更改表单操作 url?
Change form action url when mobile is detected?
我使用的是一个简单的表格:<form class="myform" action="desktop.php" method="post" name="none">
但现在我希望他检测到用户移动时表单操作 url 不同 (mobile.php)。那可能吗?也许 jquery?
您可以使用以下代码来检查移动设备并更改表单的操作,并且不要忘记也包括 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>
什么是手机?智能 phone、平板电脑、亚笔记本、Surface 平板电脑和台式机 OS?
brance 的回答为您提供了一个很好的近似值,可能会捕获所有移动用户的 70%,但总会有一些用户将他们的浏览器设置为桌面浏览器或使用更奇特的浏览器,即未被测试字符串识别。如果 firefoxOS 在一两年内站稳脚跟怎么办?您必须定期调整测试字符串。
移动设备和固定设备之间的差异越来越模糊。您真的需要表单操作中的区别吗?也许,根据您的用例,最好只询问用户(通过表单中的复选框),他们是使用移动设备还是固定设备。
一个技术思路:
看到 https://developer.mozilla.org/de/docs/Web/API/Window/matchMedia ,有一个 javascript API 来检测媒体查询属性。但同样,并非移动设备上的所有浏览器都可以将其属性设置为可以快速识别为移动设备
我使用的是一个简单的表格:<form class="myform" action="desktop.php" method="post" name="none">
但现在我希望他检测到用户移动时表单操作 url 不同 (mobile.php)。那可能吗?也许 jquery?
您可以使用以下代码来检查移动设备并更改表单的操作,并且不要忘记也包括 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>
什么是手机?智能 phone、平板电脑、亚笔记本、Surface 平板电脑和台式机 OS?
brance 的回答为您提供了一个很好的近似值,可能会捕获所有移动用户的 70%,但总会有一些用户将他们的浏览器设置为桌面浏览器或使用更奇特的浏览器,即未被测试字符串识别。如果 firefoxOS 在一两年内站稳脚跟怎么办?您必须定期调整测试字符串。
移动设备和固定设备之间的差异越来越模糊。您真的需要表单操作中的区别吗?也许,根据您的用例,最好只询问用户(通过表单中的复选框),他们是使用移动设备还是固定设备。
一个技术思路: 看到 https://developer.mozilla.org/de/docs/Web/API/Window/matchMedia ,有一个 javascript API 来检测媒体查询属性。但同样,并非移动设备上的所有浏览器都可以将其属性设置为可以快速识别为移动设备