当前位置: 首页 > 文档资料 > Tabris 中文文档 >

W3C APIs 兼容

优质
小牛编辑
124浏览
2023-12-01

Tabris实现了流行的W3C标准的一个子集。除了为Web开发人员提供熟悉的API之外,还可以使用为浏览器环境开发的库。

window对象

在JavaScript中总是有一个表示全局作用域的对象。所有全局变量都是此对象的成员。在Web浏览器中,该对象在Tabris.js中被命名为window。 例如,tabris对象可以通过tabriswindow.tabris访问。

console对象

与浏览器一样,可以使用全局console对象记录信息到开发者控制台:

console.log("A log message");
console.error("An error Message");
console.warn("A warning message");
console.info("An info message");
console.debug("A debug Message");

调用console.error也会输出信息(即使开发者控制台关闭),但它不会中断脚本的执行。

计时器

Tabris支持计时器方法setTimeoutsetIntervalclearTimeoutclearInterval。参考window。

参考W3C / MDN

XMLHttpRequest

Tabris支持使用XMLHttpRequest来进行HTTP请求并读取作为应用一部分的资源。

参考W3C / MDN

Tabris.js具体细节:

  • 只支持异步请求。尝试同步请求将导致错误。
  • 当使用相对路径时,Tabris.js会将其解析为相对于应用程序的package.json的路径。这允许你读取静态资源(项目文件夹中的文件)。
  • 当使用定制的开发者客户端时,可以使用相对路径来访问本地文件(作为资源与客户端打包)以及在远程项目文件夹中(来自通过HTTP加载的代码)的那些文件。本地文件优先。
  • 要启用对使用自签名证书的SSL保护资源的访问,请使用config.xml中的UseStrictSSL首选项。参见Cordova文档。

Fetch

作为XHR更强大和更灵活的替代方案,你还可以使用Fetch API。从Tabris.js 1.7开始,包括了这个API的实现。

:point_right:要加载静态资源,使用相对于当前模块的URL可能更为方便。对于JSON文件,可以通过使用require方法而不是XHR来完成此操作。对于其他类型的文件,请使用__dirname变量,例如xhr.open("GET", __dirname + "/foo.txt");

WebSocket

WebSockets是一种先进的技术,可以在用户的客户端和服务器之间打开交互式通信会话。使用此API,你可以将消息发送到服务器并接收事件驱动的响应,而无需轮询服务器获取回复。

截至Tabris.js 1.10,包含了该API的实现。

Tabris.js支持以TypedArrayArrayBuffer的形式发送和接收文本消息以及二进制数据。目前不支持以Blob的形式接收数据。

更多文档:

  • https://tools.ietf.org/html/rfc6455
  • https://html.spec.whatwg.org/multipage/comms.html#websocket

持久存储

Tabris支持全局对象localStorage,它允许在持久存储中存储键值对。键和值都作为字符串存储。

在iOS上,在全局作用域内还有一个额外的secureStorage对象。这是将数据保存在加密的iOS钥匙链中的localStorage的替代品。

参考W3C / MDN

Tabris.js具体细节:

  • 目前,localStoragesecureStorage支持setItemgetItemremoveItemclear方法。
  • 不支持sessionStorage,因为他它在非浏览器环境中没有应用场景。
  • 目前不支持存储事件。

:point_right:localStorage仅用于存储较短的字符串。要存储大量数据,建议使用cordova FileSystem插件。

Canvas Context

Canvas控件兼容HTML5 canvas的“2D Context”对象。参考Canvas。

参考W3C / MDN

Random Source (Crypto)

全局对象crypto提供了RandomSource接口的实现。它可以用于生成加密安全随机数。

参考W3C / MDN