一直以来,`web.sdk.js`都是通过以下方式加载快游戏的。 ```html ``` 在大部分的游戏中也是没有问题的,由于`web.sdk.js`中存在大量的异步加载逻辑,因此将`main.js`定义为模块,并在代码最前面补充加载等待是对游戏原代码侵入较小的一种方案,而且恰恰是模块,因此顶级 await 也就非常顺理成章了。 ```js await window.qg.ready(); ``` 直到遇到下面某款游戏的入口(代码片段) - 阅读剩余部分 -
- 阅读剩余部分 -
本质上,快游戏框架是基于V8引擎魔改出来的,因此天然支持`require`函数,但在 Web 中实现这个功能就不简单了,第一版的方案是想着将`main.js`作为模块在最顶级加载,然后通过将所有的`require`调用都改为`await`。 ```js await require("./libs/min/laya.core.min.js"); await require("./libs/min/laya.ani.min.js"); await require("./libs/min/laya.ui.min.js"); ``` ```js async function require(url) { const script = document.createElement("script"); script.type = "text/javascript"; script.async = false; script.defer = false; script.src = url; await new Promise((resolve, reject) => { script.onload = () => { script.remove(); resolve(); }; script.onerror = () => { script.remove(); reject(); }; document.body.constructor.prototype.appendChild.apply(document.body, [script]); }); } ``` 一开始,这个方案也是走得通的,对于一些简单的游戏改的方便,加载也是没啥问题的,但是随着接触的快游戏越来越多,这个方案就越发难走下去,主要有两个问题: - 阅读剩余部分 -
在使用 PushMe 推送 HTML 消息时,由于 PushMe 默认生成的消息摘要是自动提取的,在很多时候这个摘要并没有起到什么作用,特别是有表格等复杂数据时,如下图。  然后想着试下利用摘要不解析 HTML 的这个特性,使用一段`display:none`的文字作为消息摘要,在点进去正文时,解析 HTML 后也会看不见这段摘要。 刚开始尝试使用超多的` `将正文部分推到很后的地方,摘要为摘要,正文为正文,但是自动提取出来的摘要会将连续空格转为单个,还是会导致正文出现在摘要里。 - 阅读剩余部分 -
收一个 Reqable 永久版订阅