JavaScript开发之路01(初识Sencha Touch框架)
一.SenchaTouch的hello world实例:
Ext.application({
name:'myapp',
icon:'images/icon.png',
glossOnIcon:false,
phoneStartupScreen:'images/phone_startup.png',
tabletStartupScreen:'images/tablet_startup.png',
launch:function(){
var panel=Ext.create('Ext.Panel',{
fullscreen:true,
id:'mypanel',
width:'100%',
style:'color:red',
html:'hello sencha touch-2.4.2!'
});
Ext.Viewport.add(panel);
}
});
二.SenchaTouch中的动态加载技术:
1.同步加载:
优势:可以不必指定应用程序中使用哪些类;
缺点:①不利于调试;②由于XHR的限制,不能实现跨域获取数据;③调式应用程序时必须使用Web服务器
注意:在使用同步加载技术的时候,不能使用sencha-touch-debug.js或者sencha-touch.js脚本文件,而必须使用sencha-touch-all-debug.js或者sencha-touch-
all.js脚本文件。
2.异步加载:
优势:①可以实现跨域获取数据的功能;②调试时不需要Web服务器,可以通过文件系统协议(例如:file://path/to/your/index.html)直接调试磁盘中的某个文
件;
缺点:必须手动指定应用程序中所要使用的类;
注意:使用异步加载时,需要通过Ext.require()方法来指定应用程序中所需使用的类,具体操作如下:
①指定单个类:Ext.require(‘Ext.Img’);
②使用通配符指定某个包中所有类:Ext.require(‘Ext.data.*’);
③使用通配符指定所有类:Ext.require(‘*’);
④通过数组进行多重指定:Ext.require([‘Ext.Img’,‘Ext.Panel’]);
⑤指定使用除了data包中的类之外的所有类:Ext.exclude(‘Ext.data.*’).require(‘*’);
⑥指定使用data包中除了TreeStore类之外的所有类:Ext.exclude(‘Ext.data.TreeStore’).require(‘Ext.data.*’);
三.SenchaTouch在新版谷歌浏览器中painted事件无法触发以及carousel控件,togglefield控件,滚动条失效等问题的解决办法:
在我们的app.js文件中加入以下脚本:
Ext.override(Ext.util.SizeMonitor, {
constructor: function (config) {
var namespace = Ext.util.sizemonitor;
if (Ext.browser.is.Firefox) {
return new namespace.OverflowChange(config);
} else if (Ext.browser.is.WebKit) {
if (!Ext.browser.is.Silk && Ext.browser.engineVersion.gtEq('535') && !Ext.browser.engineVersion.ltEq('537.36')) {
return new namespace.OverflowChange(config);
} else {
return new namespace.Scroll(config);
}
} else if (Ext.browser.is.IE11) {
return new namespace.Scroll(config);
} else {
return new namespace.Scroll(config);
}
}
});
Ext.override(Ext.util.PaintMonitor, {
constructor: function (config) {
if (Ext.browser.is.Firefox || (Ext.browser.is.WebKit && Ext.browser.engineVersion.gtEq('536') && !Ext.browser.engineVersion.ltEq
('537.36') && !Ext.os.is.Blackberry)) {
return new Ext.util.paintmonitor.OverflowChange(config);
}
else {
return new Ext.util.paintmonitor.CssAnimation(config);
}
}
});
JavaScript开发之路01(初识Sencha Touch框架)的更多相关文章
- JavaScript开发之路02(Sencha Touch使用时常见问题及解决办法)
1.Sencha中使用组件后通过layout: 'vbox'指定页面布局为垂直盒布局并且组件的高度采用height: '百分比'指定时,组件的背景色通过style: 'background:#F6F6 ...
- android开发之路01
一.android系统被分为4个层次:1.最下层的是linux核心,包括多个驱动程序,提供了操作系统应该具备的核心功能:2.在linux核心之上,包括两个部分,一部分是Android Runtime( ...
- python开发之路:python数据类型(老王版)
python开发之路:python数据类型 你辞职当了某类似微博的社交网站的底层python开发主管,官还算高. 一次老板让你编写一个登陆的程序.咔嚓,编出来了.执行一看,我的妈,报错? 这次你又让媳 ...
- sencha touch 框架的几种核心脚本文件之间的区别
sencha-touch-debug.js 供开发时用sencha-touch.js 供发布时用sencha-touch-all.js All 供不能使用SDK构建应用程序时,将 ...
- android开发之路09(浅谈SQLite数据库01)
1.SQLite数据库: SQLite 是一个开源的嵌入式关系数据库,实现自包容.零配置.支持事务的SQL数据库引擎. 其特点是高度便携.使 用方便.结构紧凑.高效.可靠. 与其他数据库管理系统不同, ...
- Sea.js创始人玉伯的前端开发之路
在Web应用程序的用户体验越来越被重视的今天,前端开发的地位也上升到了前所未有的高度,而随之而来的也有更多的挑战. 为了将前端开发者繁重的工作变得简单,框架应运而生.国内也不乏一些非常优秀的前端开发框 ...
- 【开源专访】Sea.js创始人玉伯的前端开发之路
摘要:玉伯,淘宝前端类库 KISSY.前端模块化开发框架SeaJS.前端基础类库Arale的创始人.本期[开源专访]我们邀请玉伯来为我们分享一些关于前端框架.前端开发的那些事,以及前端大牛是如何炼成的 ...
- Python 开发之路
强烈推荐地表最强博客:http://www.cnblogs.com/wupeiqi Python开发[第一篇]:目录 Python开发[第二篇]:初识Python Python开发[第三篇]:Pyth ...
- Python-WEB前端-入门到进阶开发之路
HTTP: Python-HTTP 概况 HTML: Python-HTML基础 Python-form表单标签 Python-HTML CSS 练习 CSS: Python-CSS入门 Python ...
随机推荐
- linux内核书籍
1, 关于操作系统理论的最初级的知识.不需要通读并理解<操作系统概念><现代操作系统>等巨著,但总要知道分时(time-shared)和实时(real-time)的区别是什么, ...
- Window下开发React-Native Android步骤
1.安装Android开发环境 下载并安装JDK 下载并安装Android SDK, Android NDK 启动SDK下面的SDK Manager.exe,安装相关SDK Platform-tool ...
- homework-02,第二次作业——寻找矩阵最大子序列和
经过漫漫漫~~~~~~~~~~~~~~长的编译和调试,第二次作业终于告一段落了 先放出源码,思路后面慢慢道来 #include<stdio.h> #include<stdlib.h& ...
- ecstore 后台登陆跳转到 api失败,中心请求网店API失败
解决过程没有具体参与,官方解决后回复的邮件,可以参考一下: 后台登陆错误图: 商派解决方法邮件: 特别注意:这个错误提示有时候也跟ecstore的nginx服务器伪静态有关,具体参考: htt ...
- 斜率DP题目
uva 12524 题意:沿河有n个点,每个点有w的东西,有一艘船从起点出发,沿途可以装运东西和卸载东西,船的容量无限,每次把wi的东西从x运到y的花费为(y-x)*wi; 问把n个点的东西合并成k个 ...
- JSF 2 multiple select listbox example
In JSF, <h:selectManyListbox /> tag is used to render a multiple select listbox – HTML select ...
- jQuery基础学习5——JavaScript方法获取页面中的元素
给网页中的所有<p>元素添加onclick事件 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN& ...
- POJ1062昂贵的聘礼(dijkstra)
昂贵的聘礼 题目大意是说有N个物品,每个物品都有自己的价格,但同时某些物品也可以由其他的(可能不止一个)替代品,这些替代品的价格比较“优惠”,问怎么样选取可以让你的花费最少来购买到物品1 由于有N个物 ...
- TypeScript学习笔记(二):基本数据类型及数据转换
数据类型 我们来看看TypeScript中的基本数据类型都有哪些. boolean 布尔值,支持true和false. var isDone: boolean = false; 默认为undefine ...
- 腾讯云centos6.5下部署django环境
基于腾讯云CentOS6.5的环境 首先说下需要用到的软件 1.gcc环境 腾讯云默认是没有gcc编译器的,需要手动安装一下:yum install gcc 2.python环境 因为我用的cento ...