使用 JavaScript 在移动设备上排除功能 [重复]

Posted

技术标签:

【中文标题】使用 JavaScript 在移动设备上排除功能 [重复]【英文标题】:Use JavaScript to Exclude Feature on Mobile [duplicate] 【发布时间】:2018-12-18 18:59:49 【问题描述】:

我正在寻找一种方法使“箭头:真”取决于用户是否在移动设备上。这是一个涉及液体模板语言的幻灯片

 this.settings = 
      accessibility: true,
      arrows: true,
      dots: false,
      fade: true,
      draggable: true,
      touchThreshold: 20,
      autoplay: this.$slideshow.data('autoplay'),
      autoplaySpeed: this.$slideshow.data('speed')
    ;

我尝试设置和使用变量无济于事。有没有直接的方法来做到这一点?

编辑:

我尝试了以下方法(很可能有错误):

var noarrow 

if ($(window).width() <= 670) 
 noarrow = "false",
  else  
noarrow = "true"

arrow: "no arrow"

【问题讨论】:

你用的是什么库? arrows 是被动的吗?您可以在幻灯片创建后设置arrows 吗?您可以利用 javascript 版本的媒体查询:matchMedia “我尝试设置和使用变量无济于事。” - 你能分享你的尝试吗?它不仅可以让我们更具体地了解您想要做什么,还可以帮助我们避免建议您已经尝试过的解决方案。 不要从“我希望在移动设备而不是桌面设备上启用它”的角度来处理这个问题。启用基于具体功能集的功能,例如可用的屏幕宽度或触摸功能。否则,您可能会导致某个功能在应该启用的平台上不可用。 使用modernizr我是吗? 我已经更新了帖子以显示我的尝试 【参考方案1】:

这是我使用过的解决方案,但您必须使用 function 获取值,而不是使用对象的 property


let settings = 
  accessibility: true,
  arrows: () => 
    return /android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ? true : false;
  ,
  dots: false,
  fade: true,
  draggable: true,
  touchThreshold: 20
;

console.log(settings.arrows());

【讨论】:

测试代码:打开检查器F12 & Ctrl + Shift + M & 运行代码 sn-p。它应该返回True

以上是关于使用 JavaScript 在移动设备上排除功能 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用 CSS 定位移动设备(iPad、iPhone),但排除非移动设备

在移动设备上预加载音频

Javascript:在移动设备上调试

移动设备上的 Javascript 分析

移动端的 JavaScript

如何使用 JavaScript 单击 Safari 移动设备上的按钮?