HTML+CSS+Javascript开发Metro文档
1、 关于保存用户登录状态,使用WinJS.Application.sessionState,类似于.net中的Session。
定义:
WinJS.Application.sessionState.UserInfo={UserName:”Metro”,Age:”15”}
表示定义了一个名为UserInfo的Session,包括用户名UserName和年龄Age
获取:
var userInfo= WinJS.Application.sessionState.UserInfo
2、 关于获取数据(数据接口)
可以使用WinJS.xhr(options)方法,也可以使用喜欢的jQuery的ajax异步操作数据,这里需要注意的是:
1) 如果你是使用局域网开发,需要找到配置文件package.appxmanifest》功能》私有网络(客户端和服务器)勾选上,否则无法获取到数据。
2) 如果是get方式获取数据,一定要注意缓存的问题,可以用随机数解决,比如添加一个参数rand=Math.random()*100
3) 如果是中文参数,一定要注意乱码的问题,可以用encodeURIComponent(参数)编码发送
4) 2)3)适用于其他开发
3、 关于CSS
Metro中CSS是全局的,也就是说,假如你打开的一个页面引入了一个CSS样式文件,那么即使你后面的html文件不再引入这个css文件,这个css文件声明的样式规则同样适用。所以如果你的样式不是通用的,一定要记得区分开来,比如以文件名称作为前缀等。
4、 关于JS
对于一个页面引入的js文件,除了ready里面的函数,所有的代码都只在第一次打开的时候会执行。只能有一个ready函数,多个的话,后面的会覆盖前面的。
5、 关于滚动
需要设置position为absolute或relative,否则无法触屏滚动
6、 关于弹窗
无法使用传统的alert、confirm和prompt,使用MessageDialog,常见错误:0x80070005- JavaScript运行时错误: 拒绝访问,一般原因是连续两次进行了弹窗,应该检查程序是否重复执行了两次代码。比如给按钮绑定了两次单击事件。