ユーザーページに.jsを追加すると404ページが壊れる

あまり重要なバグではありませんが、存在しない .js で終わるユーザーページをフォーラムで訪問すると、CSS がレンダリングされません。

「いいね!」 1

@RiversideRocks さんはデータの返却を期待しているわけではありません。

彼が指摘しているのは、彼が投稿したようなリンクに .js 拡張子が付いている場合、404 ページが期待通りに表示されないという点です。これが彼のトピックの主題です:

拡張子が誤っている場合(この場合は .js)、適切にフォーマットされた 404 ページが返されるのは当然のように思えます。なぜなら、他の拡張子(例:.xml)を使用した場合、404 ページは正しくフォーマットされるからです:

@RiversideRocks さんが指摘しているのは、.js 拡張子が 404(ファイルが見つからない)として処理された際、404 ページが期待通りに美しくフォーマットされないという点です。

「いいね!」 3

ええ、その通りです。そして、元の投稿者も正しいです。

奇妙な不一致ですね。なぜこのようなことが起きているのか理解したいです。

興味本位で伺いますが、そもそもなぜ人々はこのような .js ルートをオープンしようとするのでしょうか?

「いいね!」 3

私の推測ですが(私は Embers には詳しくなく、一般的な話になりますが)、この現象が起きる理由は、Discourse が .js 拡張子のファイルを読み込もうとするため、コンソールに JavaScript の 404 エラーが発生し、その結果として Discourse の Ember 404 ページが完全に読み込めなくなる(JavaScript の失敗)ためではないでしょうか。

そのため、通常の 404 ページは読み込まれますが、JavaScript エラー(404 の JavaScript 読み込みエラーも含まれる)が発生しているため、本来のきれいな表示でレンダリングされません。

「いいね!」 3

.js ファイルの拡張子が検出された場合に Discourse が送信するヘッダーに関係しているのかと思っていましたが、その認識で合っているようです。

@RiversideRocks さん、こんにちは

もし本当に気になるようでしたら、独自の CSS を追加してそのページをスタイリングすることで、JS が失敗しても見た目が美しく保たれるようにできます :slight_smile:

ただし、@merefield さんがおっしゃった通り、それは通常のものでもサポートされているリンクやルートではないので、気にする必要はないでしょう。

「いいね!」 2

私は特に気にしていませんでした。ただ、面白いバグだと思って共有したかったのです。

「いいね!」 4

不審な URL の件ですが、投稿 URL の末尾に .js 拡張子をつけるとエラーが発生します。ただし、そのページ自体は存在します。
https://meta.discourse.org/t/404-page-breaks-when-js-is-added-to-the-end-of-a-user-page/161777/8.js

「いいね!」 1