javascript - 如何仅在非移动浏览器上运行 jQuery?

标签 javascript jquery mobile

我将这个 jQuery 用于一个名为 zoombox 的(优秀的)类似灯箱的插件:

        $('a.zoombox').zoombox({...});

它采用 http://vimeo.com/15171582 形式的 a 链接,解析 vimeo id (15171582) 并弹出一个加载 的灯箱code>iframe 与此 URL:

http://player.vimeo.com/video/15171582?autoplay=1&title=0&byline=0&portrait=0&wmode=transparent

如何修改 jQuery,以便在移动浏览器上查看时

  1. 灯箱未启动,并且
  2. 简单链接被转换为 iframe 链接?

最佳答案

你可以使用这个:http://detectmobilebrowsers.com/检测移动设备。

或者像这样检测窗口宽度:

function isMobile() {
   if(window.innerWidth <= 600) {
     return true;
   } else {
     return false;
   }
}

并让它像这样响应:

// keep original url
$('a.zoombox').each(function() {
  var url = $(this).attr('href');
  $(this).data('url',url);
});

// on load
doMagic();

// resizing
$(window).resize(function() {
  doMagic();
});

// lightbox?
function doMagic() {
  $('a.zoombox').each(function() {
    var url = $(this).data('url');
    $(this).attr('href',url);
  });
  if (!isMobile) {
    $('a.zoombox').zoombox({...}); // lightbox here
  }
}

// detect mobile
function isMobile() {
  if(window.innerWidth <= 600) {
    return true;
  } else {
    return false;
  }
}

未测试

编辑:在加载时添加 doMagic 调用..

关于javascript - 如何仅在非移动浏览器上运行 jQuery?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16656006/

相关文章:

javascript - 在移动设备中放大时,我可以让我的固定按钮保持固定大小吗?

css - 卡片在手机中填写容器

mobile - 我可以将授权码与 PKCE Flow 一起用于移动应用程序吗?

javascript - 如何修改polymer 1.0中html中的 bool 属性值?

jquery - 使用 jQuery,CSS 不变

jquery - 下拉菜单关闭问题

javascript - 在textarea中获取选中的文本

javascript - c[num] 和 c.num 一样吗

PHP 表单 ActionScript 不工作

javascript - JavaScript 中 Unix 时间戳到秒