codecamp

Weex Schemes

本地资源

Weex SDK 提供​ local​ scheme 来访问打包在应用程序中的资源,此 scheme 无法在 H5 环境下使用。目前,开发者可以在 ​image​ 组件和字体文件中使用本地资源。

  • 在 iOS 中,Weex 会在 ​bundle resources​ 中查找。例如,​image​ 组件的 ​src​ 属性为 ​local:///app_icon'​, Weex 会加载 ​bundle resouce​ 中名为 ​app_icon​ 的图像资源,而字体文件也以相同的方式工作。
  • 在 Android 中,​image​ 组件将从 ​drawable​ 资源文件夹加载,如 res/drawable-xxx。但加载字体文件是不同的,Android 框架无法从 res 加载字体文件,因此 SDK 将从 asserts 文件夹加载它。

远程资源

  • HTTP/HTTPS,它的工作方式与 web 相同,Weex 一直支持这种方式。
  • File ,使用 ​file​ scheme 访问本地磁盘文件。这个方案有其局限性:
    • 你不应该在源页面中硬编码文件 url。因为不管它是否运行在不同的平台(iOS,Android)上,同一平台不同机型的结果也可能不同,这取决于具体的设备。
    • 所以一种可行的方案是在运行时动态获取文件 url,你可以使用它来显示本地磁盘的图像,或者稍后上传它。




Weex 高阶特性
Weex 相对路径
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

Weex 调试

Weex 集成Devtool到Android

Weex 集成Devtool到IOS

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }