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

Cross-browser Support

Cross-browser Support Authors: Yoshiroh Kamiyama


dojox/mobile supports not only webkit-based mobile browsers,but also non-CSS3 desktop PC browsers such as IE and (older) Firefox. A CSS3 compatibility module (dojox/mobile/compat) is provided to support non-CSS3 browsers. dojox/mobile/compat is not necessary for webkit-based browsers,hence,it does not degrade the performance of mobile browsers.
Typical Use

Using AMD loading you can Now simply require dojox/mobile/compat as follows:
require(["dojox/mobile","dojox/mobile/compat"],function(mobile,compat){
// Do something with dojo mobile...
});

Once dojox/mobile/compat is loaded,it replaces some of the methods of Dojo Mobile widgets,without any subclassing. This way your applications do not need to be changed,and HTML pages remain the same regardless of whether this compatibility module is used or not.

dojox/mobile/compat simply uses Traditional HTML/CSS techniques,rather than modern approaches using CSS3. For example,images are used for buttons,gradient colors,rounded corners,etc. For transition animations,dojo/fx (JavaScript animation package) is used.

When running on a non WebKit-based browser,dojox/mobile/compat automatically loads the compatibility CSS files for theme CSS files. It searches the current page for <link> elements or @import directives in a <style> element,and tries to load the corresponding -compat.css files. For example,if it finds .../mobile/themes/iphone/iphone.css,it loads .../mobile/themes/iphone/iphone-compat.css.

Note that compat is divided into two pieces,compat.js and _compat.js. _compat.js includes all the implementation code,and compat.js is simply a loader of _compat.js. compat.js loads _compat.js only when the current browser is not WebKit-based. compat.js is such a tiny piece of code that it does not affect mobile performance even if it is in a build. This way,on WebKit-based browsers,performance does not degrade since _compat.js will never be loaded. On non-WebKit browsers,_compat.js is loaded automatically,and Dojo Mobile works in the compat mode.

Also,note that,by default,compatibility CSS files are only loaded for CSS files located in a directory containing a “mobile/themes” path. For that,a matching is done using the default pattern “/\/mobile\/themes\/.*\.css$/”. If a custom theme is not located in a directory containing this path,the data-dojo-config needs to specify a custom pattern using the “mblLoadCompatPattern” configuration parameter,for instance:
data-dojo-config="mblLoadCompatPattern: /\/mycustomtheme\/.*\.css$/"

转自:http://dojotoolkit.org/reference-guide/1.9/dojox/mobile/cross-browser-support.html#dojox-mobile-cross-browser-support

原文地址:https://www.jb51.cc/dojo/291392.html

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

相关推荐