我有一个根据窗口大小响应缩小的表单。但是,我们需要它永久保持在移动和其他未知浏览器上。
这是伪代码。 jQuery也很好,我正在使用v.1.8
if ( is_desktop )
is_narrow = false;
else
// applies to mobile and unknown browsers
is_narrow = true;
$( "#form" ).toggleClass( 'narrow', is_narrow );
大多数解决方案在未知浏览器上失败。例如,他们只检测浏览器是否是移动的,否则假设它是桌面。我需要假设移动设备,除非被证明是桌面浏览器。
P.S。,如果你想提供一个解决方案,我也在使用PHP。
答案 0 :(得分:0)
尝试使用Media Queries
/* Smartphones (portrait and landscape) ----------- */
@media only screen
and (min-device-width : 320px)
and (max-device-width : 480px) {
/* Styles */
}
/* Smartphones (landscape) ----------- */
@media only screen
and (min-width : 321px) {
/* Styles */
}
/* Smartphones (portrait) ----------- */
@media only screen
and (max-width : 320px) {
/* Styles */
}
/* iPads (portrait and landscape) ----------- */
@media only screen
and (min-device-width : 768px)
and (max-device-width : 1024px) {
/* Styles */
}
/* iPads (landscape) ----------- */
@media only screen
and (min-device-width : 768px)
and (max-device-width : 1024px)
and (orientation : landscape) {
/* Styles */
}
/* iPads (portrait) ----------- */
@media only screen
and (min-device-width : 768px)
and (max-device-width : 1024px)
and (orientation : portrait) {
/* Styles */
}
/* Desktops and laptops ----------- */
@media only screen
and (min-width : 1224px) {
/* Styles */
}
/* Large screens ----------- */
@media only screen
and (min-width : 1824px) {
/* Styles */
}
/* iPhone 4 ----------- */
@media
only screen and (-webkit-min-device-pixel-ratio : 1.5),
only screen and (min-device-pixel-ratio : 1.5) {
/* Styles */
}
使用此功能确定用户是否在移动设备上
function is_mobile() {
var agents = ['android', 'webos', 'iphone', 'ipad', 'blackberry'];
for(i in agents) {
if(navigator.userAgent.match('/'+agents[i]+'/i')) {
return true;
}
}
return false;
}
if ( is_mobile )
is_narrow = true;
else
// applies to mobile and unknown browsers
is_narrow = false;
$( "#form" ).toggleClass( 'narrow', is_narrow );
编辑:
您可以尝试使用此function:
if(jQuery.browser.mobile)
{
console.log('You are using a mobile device!');
}
else
{
console.log('You are not using a mobile device!');
}
答案 1 :(得分:-1)
您可以在CSS上使用查询媒体。 关于HTML,您可以插入带有隐藏/可见类属性的两个表单选项,该属性与桌面/移动设备的某些查询媒体相关。