背景:小程序运行时需要对Date变量进行修改
如:
const OldDate = Date
// 修改第一个入参,横岗改斜杠
Date = function () {
if (arguments.length > 0 && typeof (arguments[0]) === 'string' && arguments[0].includes('-')) {
const p = arguments[0].replace(/-/g, '/')
arguments[0] = p
}
return new OldDate(...arguments)
}
原文链接:https://blog.csdn.net/milugloomy/article/details/108701448
现象:
基础库2.13.0
开发者工具和真机都无法修改,且报错[non-writable] modification of global variable 'Date' is not allowed when using plugins at app.json,删除app.json中的plugins字段正常执行
基础库2.25.0
1.开发者工具模拟器,上述代码成功执行,此时是在app.json中有plugins字段
2.真机会报错,此时是在app.json中有plugins字段。删除plugins字段后,上述代码能正常执行
我理解的是,这个问题是由于小程序引入了第三方插件,导致的全局变量无法修改。
但是开发者工具模拟器已经开放了这个限制。想问下,真机后面是否也会开放限制
类似问题:https://developers.weixin.qq.com/community/develop/doc/0000680a848be8919f7b921c756400
不会放开,有安全问题