这不是一个非常重要的 bug,但在访问论坛上一个以 .js 结尾但不存在的用户页面时,CSS 无法渲染。
@RiversideRocks 并不期望返回数据。
他只是指出,当链接(如他所发布的)具有 .js 扩展名时,404 页面并未按预期显示,因此他创建了该主题:
看起来确实合理:当扩展名错误(本例中为 .js)时,应返回格式正确的 404 页面。因为当使用其他扩展名(例如 .xml)时,404 页面的格式是正确的:
@RiversideRocks 只是指出,当 .js 扩展名被作为 404(文件未找到)处理时,返回的 404 页面并未按预期美观地格式化。
没错,你说得对。楼主也没错。
这是一个令人好奇的差异。我想了解为什么会发生这种情况。
出于好奇,人们最初为什么要尝试打开这类 .js 路由呢?
我认为,从宏观层面来看(我完全不是 Ember 专家,所以只是泛泛而谈),出现这种情况的原因是 Discourse 尝试加载带有 .js 扩展名的文件,因此控制台会出现 JavaScript 404 错误,这导致 Discourse 的 Ember 404 页面无法完全加载(JS 加载失败)。
我在想,这是否与 Discourse 检测到 .js 文件后缀时发出的响应头有关,但听起来这应该是正确的。
如果这真的让你困扰,你可以添加自己的 CSS 来美化该页面,这样即使 JS 失败,它看起来依然很美观 ![]()
不过就像 @merefield 提到的,何必为此担心呢?毕竟那不是一个正常或受支持的链接/路由?
我从未太在意,只觉得这是一个有趣的漏洞,想分享给大家。
关于不寻常的路径问题,帖子 URL 末尾的 .js 扩展名会导致错误,尽管该页面 确实 存在。
https://meta.discourse.org/t/404-page-breaks-when-js-is-added-to-the-end-of-a-user-page/161777/8.js


