支持情况运行限制基于安全考虑,小程序中不支持动态执行JS代码
发表时间:2023-10-27 14:29:11
文章来源:炫佑科技
浏览次数:128
菏泽炫佑科技 菏泽炫佑小程序开发 菏泽炫佑app制作 炫佑科技
支持情况运行限制基于安全考虑,小程序中不支持动态执行JS代码
出于安全考虑,小程序中不支持动态执行JS代码,即:
标准支持
不同平台上小程序的JS执行环境不同,导致不同平台的标准支持存在差异。
为了尽可能平滑这些差异,小程序基础库内置了 core-js。 core-js可以补全平台环境中缺失的标准API。
需要注意的是,平台对语法支持的差异是无法消除的。 当你需要使用一些高级语法时,例如当你需要使用对这些语法的支持时。
不能的 API
以下接口在部分低版本客户端无法使用。 请尽可能小心避免使用它们。
与标准时序的差异
由于实现原因和iOS限制,模拟的是iOS环境下使用的。 这意味着触发的任务是普通任务,而不是微任务,这会导致iOS和标准之间的时序差异。
var arr = []
setTimeout(() => arr.push(6), 0)
arr.push(1)
const p = new Promise(resolve => {
arr.push(2)
resolve()
})
arr.push(3)
p.then(() => arr.push(5))
arr.push(4)
setTimeout(() => arr.push(7), 0)
setTimeout(() => {
// 应该输出 [1,2,3,4,5,6,7]
// 在 iOS 小程序环境,这里会输出 [1,2,3,4,6,5,7]
console.log(arr)
}, 1000)
更多关于普通任务和微任务的区别微信小程序开发环境,请查看这篇文章
如何确定当前环境需要哪些目标和转码目标
特定小程序基础库版本有*低微信客户端版本要求。 例如,基础库 v2.15.0 要求 *低版本为 7.0.22,iOS *低版本为 7.0.20。
特定客户端版本有*低操作系统版本要求,例如 iOS 7.0.20 至少需要 iOS 10。
因此,当指定具体的小程序基础库版本时(可以在小程序管理页面【设置】-【基础设置】-【基础库*低版本设置】中设置)支持情况运行限制基于安全考虑,小程序中不支持动态执行JS代码,我们就可以得到需要的*低执行环境得到支持。
具体数据可以从这个开源库获取。