微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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 模块
代码清单。" cellspacing="0" border="0" style="font-size:0.8em; color:rgb(0,"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 对象做检测。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐