22.6.25日报:修复quickjs版本miniblink的几个小bug

2022-06-28 09:26:32 浏览数 (2)

1,测试案例:

代码语言:javascript复制
<span class="    d   d e f"></span>

<script>
let span = document.querySelector("span");
let classes = span.classList;
Object.defineProperty(span.classList.__proto__, "values", {"enumerable":false,"configurable":true,"writable":true});
</script>

在quickjs mb里会报错。原因是span.classList.__proto__ 是不可配置的。

修复方案是在V8Template::newTemplateInstance  里,此时正在DOMTokenList.prototype设置values、add等方法,但这些方法没有设置flags为JS_PROP_CONFIGURABLE。

要解决这问题得给quickjs加个新api。

2, uint8array 没实现。触发方式是:

代码语言:javascript复制
const encoder = new TextEncoder()
const view = encoder.encode('€')
console.log(view); // Uint8Array(3) [226, 130, 172]

0 人点赞