无法让此脚本在iPhone 6上正常运行。不断出现"不移动"。我错过了什么?
$(document).ready(function(){
if ($(window).width < 700){
alert("mobile");
}
else {
alert("not mobile");
}
});
编辑:抱歉,我在这里输入的代码有错别字,但不是我问题的原因。我对iPhone分辨率有不准确的信息。谢谢大家!
iPhone 6 显示屏的分辨率为 1334x750。在chrome开发工具中模拟iPhone6时,宽度被报告为980
(我不知道这是否准确)。
您可能对此感兴趣: http://detectmobilebrowsers.com/
此外,正如其他人所指出的,将$(window).width
改为$(window).width()
好吧,忽略ekuusela所说的屏幕分辨率,您似乎忘记了width
后面的括号,这是一种方法,而不是字段。要解决此问题,只需在其后添加()
:
if ($(window).width() < 700)
有关详细信息,请参阅width()
文档。
iPhone6屏幕为1334x750像素。如果仅使用宽度来检测移动用户,请改为参阅此内容。
JQuery 使用 $(window).width()
。它是一个函数,而不是一个属性。
如果您使用的是引导程序,请在屏幕上添加一个仅在某个断点显示的元素(引导程序 4):
<div id="IsMobile" class="d-block d-lg-none"></div>
然后,如果它可见:
if ($("#IsMobile").is(":visible")) {
//Do Something...
}
想要.width()
,而不仅仅是.width
。另外,记录它并确保它是您所期望的。
这个线程深入探讨了Javascript和JQuery中的选项
获取屏幕、当前网页和浏览器窗口的大小
function isMobileDevice() {
return (typeof window.orientation !== "undefined") ||
(navigator.userAgent.indexOf('IEMobile') !== -1);
}
这是一种传统的检查方式。 您可能应该使用这样的东西:
const isMobile = ('ontouchstart' in document.documentElement && /mobi/i.test(navigator.userAgent));