Alist 访问主页显示空白解决方案 - 问题探索与解决
最编程
2024-03-04 10:14:45
...
网络方案
- UP主云箩提供的方案【Alist疑难杂症】解决Alist搭建后出现的白首页/加载不出资源问题,可以解决问题
问题探究
- 该问题的出现时Alist全局定义中使用的替换脚本导致的
<script src="https://polyfill.io/v3/polyfill.min.js?features=String.prototype.replaceAll"></script>
-
<script>
标签引入polyfill 的 JavaScript 库,允许开发者在旧版浏览器上使用最新的 JavaScript 特性的方法。具体来说,polyfill库提供了String.prototype.replaceAll方法的实现,这是一个比较新的字符串操作方法,可能在一些浏览器中并不原生支持。
index.75e31196.js:20 Uncaught TypeError: Cannot assign to read only property '__symbol@@0.17729640949141956' of object '[object Object]'
at index.75e31196.js:20:187047
at au (index.75e31196.js:20:185452)
at t8 (index.75e31196.js:20:187014)
at Object.Ew [as freezeMethods] (index.75e31196.js:20:187090)
at index.75e31196.js:21:2839
- 错误信息表示在JavaScript运行时发生了类型错误(
TypeError
),具体是试图对一个只读属性进行赋值操作。错误通常发生在严格模式下,当代码尝试改变一个不可变的对象属性或变量时。错误信息的一些关键点:-
Cannot assign to read only property
: 这意味着代码试图修改一个对象的只读属性。 -
__symbol@@0.17729640949141956
: 这是一个内部属性,很可能是JavaScript引擎内部使用的,或者是某些库给对象添加的symbol类型的属性。 -
of object '[object Object]'
: 指的是普通的JavaScript对象。 -
index.75e31196.js:20:187047
: 这是错误发生的文件和位置(第20行,字符位置187047)。
-
脚本内容查看
- 通过浏览器访问以下两个脚本地址,可以发现访问原地址可以查询到替换的脚本内容(具体俺看不懂),然后修改后的alicdn.com地址的脚本让内容为空白
#原脚本地址
https://polyfill.io/v3/polyfill.min.js?features=String.prototype.replaceAll
#修改后的脚本地址
https://polyfill.alicdn.com/v3/polyfill.min.js?features=String.prototype.replaceAll