sencha touch 常见问题解答(1-25)
欢迎留言补充,持续更新中...
1.sencha touch 是什么?
答:Sencha touch框架是世界上第一个基于HTML 5的移动应用框架.它可以让你的Web应用看起来像网络应用。美丽的用户界面组件和丰富的数据管理,全部基于最新的HTML
5和CSS3的 WEB标准,全面兼容Android和iOS设备。
2.sencha touch 能够访问原生的设备功能,如摄像头、麦克风吗?
答:Sencha touch只是一个HTML 5框架,所以想要它能够访问原生的设备功能,需要浏览器提供支持才可以。
如果需要访问原生的设备功能,可以考虑与Cordova(PhoneGap)结合使用。
Cordova相关介绍:http://baike.baidu.com/view/8326345.htm
3.sencha touch ajax如何跨域?
答:如果是发布成web站点的话,建议使用jsonp,如果是打包成本地应用,ajax不用考虑跨域问题。
4.sencha touch jsonp可以post提交参数吗?
答:jsonp的请求机制其实是请求js文件,所以只能通过get方式提交参数。
json和jsonp的区别:http://www.cnblogs.com/dowinning/archive/2012/04/19/json-jsonp-jquery.html
5.用jsonp请求数据,在chrome中的response有返回数据,但是在jsonp中走failure方法不走success方法是怎么回事
答:多半是返回的数据格式不正确,请仔细检查返回数据格式是否正确以下是标准格式。
参考接口:http://www.361y.cn:8080/Json/UsedType.asmx/List
6.Uncaught TypeError: Cannot call method '' of null错误如何解决,如 Ext.getStore('storeId').load();
答:1.没有这个方法,方法名书写错误
2.调用对象为空或者不是你所期望的对象,通过console.log(Ext.getStore('storeId'));打印对象检查
7.如上所述,为什么我获取的对象为空?
答:1.如果你想要获取的对象是一个视图,那么有可能你所获取的对象还没有被创建,需要你创建之后才能获取到
2.如果你想要获取的对象是一个数据仓库,并且已经指定了storeId,那么可能是你没有在视图/控制层中引用指定的数据仓库,请先引用
8.视图已经被创建,我在控制层中通过id/xtype/itemId监听视图,为什么监听事件时,只作用一次?
答:可能是你在操作过程中,对视图的创建/销毁处理不正确,视图被重复创建,那么你就只能监听到首次被创建的视图,之后再创建的视图就无法监听到了。
9.Sencha Touch 框架如何实现跨平台?
答:通过Cordova(PhoneGap)将应用打包成适用于不同操作系统的本地应用即可。
Cordova相关介绍:http://baike.baidu.com/view/8326345.htm
10.Sencha Touch 如何结合cordova实现消息的推送
答:比较简单的方法有,集成极光推送/百度推送
百度推送:http://developer.baidu.com/wiki/index.php?title=docs/cplat/push
11。Sencha Touch 如何通过cordova打包成本地应用
答:安卓打包参考:http://www.cnblogs.com/mlzs/tag/sencha%20touch%E4%B8%8Ecordova/
12.Sencha Touch 项目启动出现3个白点求解?
答:那是加载动画,为了给用户比较好的使用体验。由index.html页面中id为appLoadingIndicator这个div层来决定的,可以自行改动
应用启动完毕后,会通过 Ext.fly('appLoadingIndicator').destroy();销毁这个div层。
13.sencho touch 开发的时候 如何识别各种手机型号/操作系统类型?
答:如果发布成web模式,可以通过以下方式识别设备操作系统类型:http://www.cnblogs.com/duanguyuan/p/3534470.html
如果通过Cordova(PhoneGap)打包,可以通过device常量获取,参考资料:http://cordova.apache.org/docs/zh/3.1.0/cordova_device_device.md.html#%E8%A8%AD%E5%82%99
14.使用webkit-mask-image做背景图片,在浏览器中正常显示,在手机上不能显示
答:可能是设置路径的时候没注意区分大小写,在手机上严格区分了大小写,找不到图片导致不能显示。
15.navigationView如何动态改变标题?
答:在navigationView中添加自定义方法,调用即可(this指的就是navigationView)
//更新标题
setTitle: function (text) {
var me = this,
nav = me.getNavigationBar();
nav.setTitle(text);
nav.backButtonStack[nav.backButtonStack.length - 1]= text;
}
16.哪些视图控件可以使用数据仓库
答:list、selectfield、dataView、grid、待补充...
17.使用selectfield时,数据源格式不是标准格式这么办?
答:只要是数组对象,可以通过配置displayField(默认为text)和valueField(默认为value)来处理
标准格式:
[{
text: 'First Option',
value: 'first'
},
{
text: 'Second Option',
value: 'second'
},
{
text: 'Third Option',
value: 'third'
}]
18.使用selectfield时,如何指定弹出的选择控件类型?
答:通过usePicker进行配置,可选值有auto/true/false
19.使用selectfield时,如何对弹出的选择控件进行配置?
答:用过defaultTabletPickerConfig/defaultPhonePickerConfig这进行配置,具体参数说明请查看api
20.使用selectfield时,我想获取一些额外的值(除开text/value之外的值)可以吗?
答:可以,不过必须使用store来配置数据源,然后通过selectfield.getRecord()就能找到额外的属性值
21.从服务器取到的数据是数据索引,比如男/女,实际获取到的值是1/2,我想要显示文字如何处理?
答:如果你使用了模型,可以使用convert来处理,api之中直接搜索convert即可
name: 'sex',
type: 'string',
convert: function(v, record) {
return ['', '男', '女'][v];
}
如果你没有使用模型,但是里使用了模版,你可以参考XTemplate中的示例来处理
22.input输入框点击时会出现外框,如何去掉?
答:加入以下css应该可以解决
outline:medium;
23.sencho touch 如何引入css/js,打包的时候如何引入资源文件?
答:通过cmd生成的项目,在app.json文件中可以配置引入css/js,以及打包后需要的资源文件,以下为配置详解。
需要注意的是,最新版本的sencho touch 在开发过程中,需要引入css/js时,还需要在bootstrap.json之中配置一下才能起作用,或者通过build命令打包一下,两者选其一
{
/**
* 项目的命名空间
*/
"name": "app",
/**
* 项目起始html文件,路径相对于此app.json文件
*/
"indexHtmlPath": "index.html",
/**
* 运行此项目的url路径,比如: "http://localhost/myapp/index.html".
*
*当设置此值时,将不能通过文件系统直接访问。
*/
"url": null,
/**
* 所需引用js文件
* 单个格式如下
* {
* "path": "path/to/script.js" // 文件路径,如果本地文件,路径相对于此app.json文件
* "remote": true // (可选值)
* // -默认值为"false"
* // -"true",如果这个文件是一个远程文件不会被复制
* "update": "delta" // (可选值)
* // 如果没有指定,这个文件将只加载一次,
* // 缓存到localStorage里面,直到这个值被改变。
* // - "delta" 增量更新此文件
* // - "full" 当文件改变时,完全更新此文件
* "x-bootstrap": true // (可选值)
* // 表示这是项目依赖文件。
* // 该文件不会被复制到生成目录或引用
*
* }
*/
"js": [{
"path": "touch/sencha-touch.js",
"x-bootstrap": true
},
{
"path": "app.js",
/* 表示所有的类生成到这个文件 */
"bundle": true,
"update": "delta"
}],
/**
*所需引用js文件
* 单个格式如下
* {
* "path": "path/to/script.js" // 文件路径,如果本地文件,路径相对于此app.json文件
* "remote": true // (可选值)
* // -默认值为"false"
* // -"true",如果这个文件是一个远程文件不会被复制
* "update": "delta" // (可选值)
* // 如果没有指定,这个文件将只加载一次,
* // 缓存到localStorage里面,直到这个文件被改变。
* // - "delta" 增量更新此文件
* // - "full" 当文件改变时,完全更新此文件
*
* }
*/
"css": [{
"path": "resources/css/app.css",
"update": "delta"
},
{
"path": "resources/css/main.css",
"update": "delta"
}],
/**
*项目生成时用于自动生成HTML5应用程序缓存清单(cache.manifest)
*/
"appCache": {
/**
* 本地缓存名单
*/
"cache": ["index.html"],
/**
* 网络缓存名单
*/
"network": ["*"],
/**
* FALLBACK缓存名单
*/
"fallback": []
},
/**
* 项目生成时需要复制的资源文件
*/
"resources": ["resources/images", "resources/icons", "resources/startup"],
/**
* 项目生成时忽略的文件/目录名称匹配,必须是有效的正则表达式
*/
"ignore": ["\.svn$"],
/**
* 之前生成项目储存目录,用于进行增量更新,不可随意改变此目录下的文件
*/
"archivePath": "archive",
/**
* 在cmd创建时需要引用的类
*/
"requires": [],
/**
* 唯一ID,作为localStorage前缀。
* 通常情况下,你不应该改变这个值。
*/
"id": "d8504e05-a9fc-4692-bdbc-94c3190751f5"
}
24.sencho touch 打包成本地应用后不用担心ajax跨域问题,那在开发过程中,ajax跨域问题如何解决,有没有比较方便的解决方案?
答:找到谷歌浏览器启动文件,为其创建一个快捷方式,右键-》属性,加入以下命令 --disable-web-security
关闭所有已经打开的谷歌浏览器,然后再次打开
如图右图所示,将项目中的index.html文件拖进去。也不用搭服务器,ajax也是可以跨域了,用于自己开发测试比较方便
25.sencha touch 小米3无法点击,如何解决?
sencha touch 常见问题解答(1-25)的更多相关文章
- sencha touch 常见问题解答(26-50)
26.sencha touch在华为.红米等部分手机下hide事件失效,msgbox无法关闭怎么办 答:请看http://www.cnblogs.com/cjpx00008/p/3535557.htm ...
- 跟我一起玩转Sencha Touch 移动 WebApp 开发(一)
1.目录 移动框架简介,为什么选择Sencha Touch? 环境搭建 创建项目框架,框架文件简介 创建简单Tabpanel案例 自定义图标的方式 WebApp产品测试和发布 HTML5离线缓存 发布 ...
- Delphi XE5 常见问题解答
Delphi XE5 常见问题解答 有关于新即时试用的问题吗?请看看 RAD Studio 即时试用常见问答. 常见问题 什么是 Delphi? Embarcadero? Delphi? XE5 是易 ...
- 动端逐渐出了许多的移动端的框架,比如Sencha Touch、JQTouch、Jquery-moblie、jqMobi等等。这些框架都有优缺点,不同的框架应用在不同的项目中。现简单阐述一下各框架的优缺点:
移动前端工作的那些事---前端制作之微信小技巧篇 (2013-11-15 15:20) 转载▼ 标签: it css3/javascript html5 webapp 手机网站搭建 分类: 前端制 ...
- Sencha Touch Guide
1.一些命令 创建APP # Make sure the current working directory is the Sencha Touch 2 SDK 例如D:\Program File ...
- sencha Touch 的 DatePickerField等时间的汉化
对于datepickerfiled dateFormat 时间格式 Y-m-d w星期几 W 一年第多少周 时间的初始化 mydatefield.setValue( { year:2013, m ...
- 跟我一起玩转Sencha Touch 移动 WebApp 开发1
跟我一起玩转Sencha Touch 移动 WebApp 开发(一) 1.目录 移动框架简介,为什么选择Sencha Touch? 环境搭建 创建项目框架,框架文件简介 创建简单Tabpanel案例 ...
- 【翻译】在Sencha Touch中创建离线/在线代理
原文:Creating an Online/Offline proxy in Sencha Touch 概述 在Sencha Touch中,一个常见的需求就是,当设备在没有连接互联网的时候,应用程序必 ...
- 【翻译】使用Sencha Touch开发Google Glass应用程序
原文:Developing for Google Glass with Sencha Touch 作者:Ross Gerbasi Ross Gerbasi is a Senior Engineer a ...
随机推荐
- 边框颜色为 tintColor 的 UIButton
创建一个 UIButton 的子类,重写其方法: - (void)drawRect:(CGRect)rect { [[self layer] setCornerRadius:CORNER_RADIUS ...
- 相对和绝对路径/cd命令/创建和删除目录mkdir/rmdir/rm命令
2.6 相对和绝对路径 2.7 cd命令 2.8 创建和删除目录mkdir/rmdir 2.9 rm命令 绝对路径:从根开始的路径:文件所在的路径: 相对路径:相对于当前目录而言的路径:上一级或者下一 ...
- 【玩转Golang】slice切片的操作——切片的追加、删除、插入等
一.一般操作 1,声明变量,go自动初始化为nil,长度:0,地址:0,nil func main(){ var ss []string; fmt.Printf("length:%v \ta ...
- lsof fuser
使用fuser 或 lsof在一个挂载点中查找已打开的文件 fuser -mv /usr 查看有哪些进程在运行/usr中资源 sync fuser -km /media/usbdisk U盘无法卸载
- HTML5标签canvas制作动画
摘要: canvas可以绘制图像,自然而然的就可以制作动画,因为动画的每一帧都是图像.我们可以利用javascript的setInterval函数来实现动画效果. 下面是一个例子,小圆绕着红点圆心不停 ...
- HTML5 标准规范完成了
万维网联盟(W3C)昨天宣布,HTML5 标准规范终于最终制定完成了,并已公开发布.对于前端工程师来说,这无疑是一个振奋人心的好消息. 众所周知,HTML5改变了互联网,将成为 ...
- WinForm创建自定义控件
虽然VS为我们提供了很多控件可以使用,但有时候这些控件仍然不能满足我们的要求,比如我们要对部分控件进行一些个性化的定制,例如美化控件,这时候就需要自己绘制控件,或是在原有控件的基础上进行修改 自定义控 ...
- MyBatis 支持的扩展点(version:3.2.7)
从 [MyBatis 原码解析(version:3.2.7)] 中,我们得知,MyBatis去执行SQL都是通过 DefaultSqlSession 中的工具方法去执行的. 那么问题来了,MyBati ...
- GDAL------API
转载:http://gdal.org/java/org/gdal/gdal/gdal.html
- sublime + emmet(Zen Coding)
今天接触sublime这个编辑器,一下子就喜欢上它了,以前我一直使用NOTEPAD++,果断换上sublime玩玩,呵呵 编辑功能啥的没话,作为前端开发的话,和emmet(原名叫Zen Coding) ...