dojo has

清单 15. Loader 的 has 插件
  
 require(["dojo/has", "dojo/has!touch?dojo/touch:dojo/mouse", "dojo/dom", 
"dojo/domReady!"], 
 function(has, hid, dom){ 
  if(has("touch")){ 
    dom.byId("output").innerHTML = "You have a touch capable device and 
    so I loaded <code>dojo/touch</code>."; 
  }else{ 
    dom.byId("output").innerHTML = "You do not have a touch capable device and 
    so I loaded <code>dojo/mouse</code>."; 
  } 
 }); 

这里我们看到了“dojo/has!touch?dojo/touch:dojo/mouse”,这就是我们说的条件选择加载,如果 touch 为 true(程序运行于触摸屏的设备上),则加载“dojo/touch”模块,否则加载“dojo/mouse”模块。同样,回调函数里也是通过 has("touch") 来判断。

除了“dojo/has”,“dojo/sniff”也属于其中之一,它主要是检测浏览器的相关特性。


清单 16. 特性检测的 sniff 模块
  
 require(["dojo/has", "dojo/sniff"], function(has){ 
  if(has("ie")){ 
    // IE 浏览器特殊处理
  } 
  if(sniff("ie"){ 
    // IE 浏览器特殊处理
  }); 
  if(has("ie") <= 6){ 
    // IE6 及之前版本
  } 
  if(has("ff") < 3){ 
    // Firefox3 之前版本
  } 
  if(has("ie") == 7){ 
    // IE7 
  } 
 }); 

这里可以通过 sniff 对象做检测,同样也能通过 has 对象做检测。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值