yuantuo666 / baiduwp-php

A tool to get the download link of the Baidu netdisk / 一个获取百度网盘分享链接下载地址的工具
MIT License
6.5k stars 1.4k forks source link

Update functions.js #290

Closed bbstatic closed 1 year ago

bbstatic commented 1 year ago

fix downloadpage.show() is not a function

yuantuo666 commented 1 year ago

Here has initialized the downloadpage, and it should not report this error. If it does, then the problem might be the page not full loaded.

https://github.com/yuantuo666/baiduwp-php/blob/ceda79c06faea205fa187d2dca1a43b43b0c9b75/static/functions.js#L10

Markli66 commented 1 year ago

凌晨补充一下,我也遇到了这个问题,我翻了好久了Isusue才想明白,我先截图看一下这个错误的地方。 49ba1fb5ab029b6dadeb7aa8038953f 首先如果提示这个错误基本上是这里导致的,我在Console.log重新打印了日志,进行了排查,发现全部所有方法中调用downloadpageshow() 的只有在functions.js中,在这个方法中 addEventListener('DOMContentLoaded', function () { window.downloadpage = new bootstrap.Modal('#downloadpage', { keyboard: false, backdrop: 'static' });

}); 在这里其实开头的时候已经初始化了JS。 我起初认为是某些函数可能修改的时候加错了符号或者是show() 之类的写法原因,后来我看到上面 作者的回复,他其实已经加载了初始化,我就在想其实就是这个js中没有给他加载使得他没有调用到downloadpage.show 这个js
我就顺着排查发现本地缓存清楚后依然是没有加载,顺着推断源服务器——DNS——客户端的过程中肯定是有js加载错误的问题 又想到我前天在CF上设置了关于速度的一些加速建议,我就尝试着关闭CF上的这些设置,后面再次清除DNS缓存和本地浏览器缓存后就一切正常了。

主要原因是在与我设置了cloudflare 的DNS
在速度-优化中我之前设置了一些操作,提高网页的响应速度导致的问题。 image

希望能够有帮助

yuantuo666 commented 1 year ago

凌晨补充一下,我也遇到了这个问题,我翻了好久了Isusue才想明白,我先截图看一下这个错误的地方。 49ba1fb5ab029b6dadeb7aa8038953f 首先如果提示这个错误基本上是这里导致的,我在Console.log重新打印了日志,进行了排查,发现全部所有方法中调用downloadpageshow() 的只有在functions.js中,在这个方法中 addEventListener('DOMContentLoaded', function () { window.downloadpage = new bootstrap.Modal('#downloadpage', { keyboard: false, backdrop: 'static' });

}); 在这里其实开头的时候已经初始化了JS。 我起初认为是某些函数可能修改的时候加错了符号或者是show() 之类的写法原因,后来我看到上面 作者的回复,他其实已经加载了初始化,我就在想其实就是这个js中没有给他加载使得他没有调用到downloadpage.show 这个js 我就顺着排查发现本地缓存清楚后依然是没有加载,顺着推断源服务器——DNS——客户端的过程中肯定是有js加载错误的问题 又想到我前天在CF上设置了关于速度的一些加速建议,我就尝试着关闭CF上的这些设置,后面再次清除DNS缓存和本地浏览器缓存后就一切正常了。

主要原因是在与我设置了cloudflare 的DNS 在速度-优化中我之前设置了一些操作,提高网页的响应速度导致的问题。 image

希望能够有帮助

感谢你的分析思路,按道理来说,代码这样写是没有问题的。只是可能 Cloudflare 的服务存在一些 bug,在压缩处理过程中损坏了原有代码。 BTW,目前正在使用 ThinkPHP 重构整个项目,以达到完全分离前后端、增强安全性、减少bug的效果。重构完成之后可能会使用 react/vue 来进一步重构前端。

Markli66 commented 1 year ago

感谢。