http://nb574.bungba.com/?from=groupmessage&isappinstalled=0#rd
模块都是requirejs加载的,里面的canvas是一个一个的xml渲染出来,这种是什么类型的技术?
可能需要模拟手机打开链接
http://nb574.bungba.com/?from=groupmessage&isappinstalled=0#rd
模块都是requirejs加载的,里面的canvas是一个一个的xml渲染出来,这种是什么类型的技术?
可能需要模拟手机打开链接
-1
的原因竟然是因为 http://nb574.bungba.com/js/nb.compress.js
是被压缩过的不容易看。
// dom ready 的时候 new axe
require(["jquery", "axe", "nb"], function (e, t, n) {
e(document).ready(function () {
new t(n, "views/stage.xml")
})
})
// axe 第二个参数g如果是`string`调用 stageCtrl.initWithURL, 监听 `stageCtrl` 的 `PREPARED`,`PREPARED` 后`stageCtrl.view()`
define("axe", ["render_engine", "event_center", "event", "stage", "view_container", "view", "bitmap", "shape", "movie", "text", "button", "motion", "scroll_view", "table_view", "spin_view", "view_factory"], function (e, t, n, r, i, s, o, u, a, f, l, c, h, p, d, v) {
var m = function (m, g, y) {
var b = this;
v.addClass("stage", r),
v.addClass("container", i),
v.addClass("view", s),
v.addClass("bitmap", o),
v.addClass("shape", u),
v.addClass("movie", a),
v.addClass("text", f),
v.addClass("button", l),
v.addClass("motion", c),
v.addClass("scroll", h),
v.addClass("table", p),
v.addClass("spin", d),
b.stageCtrl = new m,
typeof g == "string" ? (b.stageCtrl.initWithURL(g),
t.addListener(b.stageCtrl, b, n.PREPARED, function () {
b.renderEngine = new e(b.stageCtrl.view())
})) : (b.stageCtrl.init(),
b.renderEngine = new e(b.stageCtrl.view()))
},
g = m.prototype;
return g.stageCtrl = null,
g.renderEngine = null,
m
})
用到的技术
异步加载
异步加载xml配置
canvas
根据xml配置canvas画图
---问这个问题的人真是懒得要死,以下是原答案,还被-1
---http://nb574.bungba.com/js/nb.compress.js
自己分析代码
1 回答6.1k 阅读✓ 已解决
3 回答1.5k 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
5 回答1.9k 阅读
1 回答2.7k 阅读
1 回答1.6k 阅读✓ 已解决
xml保存的是"显示对象"的数据,然后canvas再根据这些数据渲染啊
思想上是有点接近
Virtual DOM
参考:
http://www.ruanyifeng.com/blog/2015/02/future-of-dom.html