Alist访问主页显示空白解决方法

文章讲述了用户在访问Alist主页时遇到的空白页面问题,经调查发现是由于使用了替换脚本中的polyfill库导致的TypeError。解决方案是禁用或修改脚本,避免对只读属性进行赋值,或在控制台管理设置中禁用替换脚本。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题记录

  • 访问Alist主页显示空白,按F12打开开发人员工具 ,选择控制台,报错如下
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

问题探索和解决

网络方案

问题探究

  • 该问题的出现时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

在这里插入图片描述
在这里插入图片描述

最终解决教程

  1. 访问http://服务器ip:5245/@manage或者https://域名/@manage进入控制台,打开设置->全局->自定义头部
    在这里插入图片描述
  2. 既然,在不使用替换脚本的情况下,可以访问正常界面,那么不使用该替换脚本,也是没有问题的
    • 可以修改js引入文件内容如下,任意一个或者你使用的浏览器较新,可以将自定义头部设置为空,或者担心影响某些操作,请修改内容为第三条的代码
<!--最简单方法修改内容为空-->

<!--1 脚本地址内容为null-->
<script src="https://polyfill.io/v3/polyfill.min.js"></script>
<!--2 脚本地址内容为null-->
<script src="https://polyfill.alicdn.com/v3/polyfill.min.js?features=String.prototype.replaceAll"></script>
<!--3 脚本地址内容存在 比原来的地址的脚本内容多-->
<script src="https://polyfill.alicdn.com/v3/polyfill.min.js"></script>
  1. 修改完后,点击主页即可正常访问!
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值