码迷,mamicode.com
首页 > 移动开发 > 详细

开发技巧汇总|对于imag.js你不知道的事

时间:2016-08-03 16:52:12      阅读:346      评论:0      收藏:0      [点我收藏+]

标签:移动开发   开发技巧   脚本   

1.imag.js里有哪些标准JavaScript对象?

imag.js里的标准JavaScript对象ObjectFunctionArrayBooleanDateMathNumberStringRegExp,Global FunctionsJSON

2.为什么客户端会提示XML语法错误?

imag.js的代码文档遵循严格的XML语法规范,开发时要注意以下地方:

  1. label, script, web等标签的text可能含有XML特殊符号<、&, 注意使用CDATA来标记。

  2. 属性内含有特殊符号&需要用&来转义,如:href="nextpage.jsp?      username=Terry&password=123"

  3. 属性之间不能缺少空格,也就是两个属性不能写连着。如:<button style="color:red"onclick="alert(1);">按钮</button>,其中style和onclick连着了。

  4. 属性不能重复,如果如:<button style="color:red" style="background:blue;">按钮</button>,其中定义了两个style属性。

  5. CDATA里不能再包含有CDATA,如:<web><![CDATA[<script><![CDATA[alert(0);]]></script>]]></web>,其中CDATA进行了嵌套会出错。

注意:如果代码在Android系统上没问题,在iOS系统上提示XML语法错误,请检查上面3,4两种情况。

3.在JS脚本里如何进行CDATA的嵌套?

有时候需要在JavaScript里进行CDATA的嵌套,但这样会报XML语法错误,如:

1

2

3

4

5

6

7

8

<script>

<![CDATA[

    $page.onload = function() {   

        var label = $C(’<label><![CDATA[文本&内容]]></label>’);

        $(’row’).add(label);

    };

]]>

</script>

此时可以调用一个拼字符串生成CDATA的JS方法,从而避免直接使用CDATA,如:

1

2

3

4

5

6

7

8

9

10

11

12

<script>

<![CDATA[

    function cdata(text) {

        return ’<![’ + ’CDATA[’ + text + ’]]’ + ’>’;

    }


    $page.onload = function() {

        var label = $C(’<label>’ + cdata(’文本&内容’) + ’</label>’);

        $(’row’).add(label);

    };

]]>

</script>

4.如何引入公共的JS文件?

使用page的include属性,可以引入多个JS文件,具体请参考:引入JS文件

5.如何在页面之间传递参数?

页面之间传递参数有两种方式:一种方式是用URL传递参数,如:$page.open(’nextpage.xml?username=Terry’),具体请参考传递参数另一种方式是用$phone.sessionStorage()或者$phone.localStorage()方法,具体请参考离线存储

6.如何记住登录用户名和密码?

有三种方式。1. 使用表单控件的remember属性。2. 使用$phone.localStorage()保存数据。3. 在服务器后台设置Cookie保存表单数据,Cookie会保存到手机客户端。

7.如何实现自动登录功能?

在服务器端设置用户登录之后的参数到客户端的Cookie里,imag.js客户端在访问服务器时会自动带上Cookie信息,然后服务器向客户端返回登录成功信息。具体做法和PC端浏览器实现自动登录的方式一致。

8.如何访问后台数据库?

imag.js中访问后台数据库有两种方式,一种是通过后台程序读取数据库数据,再用JSP,ASP等脚本输出imag.js标签,这种方式类似于动态网页。另一种方式是通过$http.get$http.post方法来获取服务器端的数据,这种方式类似于Ajax。具体请参考:imag.js客户端访问后台数据库的两种方式 ,关于开发环境的搭建请参考产品帮助:本地开发和调试

9.如何设置页面定时器?

设置定时器使用$page.setTimeout()$page.setInterval()方法,具体参考:页面方法

10.如何使用画廊浏览一组图片?

画廊功能使用$page.gallery()方法,具体参考:画廊方法

11.如何展示树形结构?

展示树形结构使用可折叠的列表,需设置ListItem的collapsed属性,具体参考:可折叠的列表

12.如何使用索引排序列表?

使用索引排序列表需设置list的reuse="sort",具体参考:索引排序列表

13.如何实现向上分页功能?

先用list的scrollToBottom()方法将滚动条定位到底部,然后用addTopMore()方法向列表顶部添加数据。

14.如何获取IMEI, IMSI, MAC地址等手机信息?

通过$phone.info()方法来获取IMEI, IMSI, MAC地址等手机信息,具体参考:客户端信息

15.如何限定手机运营商?

通过$phone.info()[’operator’]来获取运营商信息并进行控制,具体参考:限定运营商

16.如何控制Android和iOS平台分别执行不同的代码?

通过$phone.info()方法获取platform参数,然后用if else条件语句控制在不同平台分别执行不同代码。

开发技巧汇总|对于imag.js你不知道的事

标签:移动开发   开发技巧   脚本   

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
coco
加入时间:2016-07-21
  关注此人  发短消息
文章分类
coco”关注的人------(0
coco”的粉丝们------(0
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!