iOSはサブドメイン間を移動するときにCSSを読み込まないことがある

iOS デバイスでのみ発生するようです。外部リンクが同じウィンドウ内に開かれることがありますが、CSS が読み込まれません。奇妙なことに、再現すらできません。

以下のようになります。

他の公開 Discourse フォーラムでも報告が見つかりました。

以前に報告され修正されたことがあるので、テーマやテーマコンポーネントに関連している可能性があるでしょうか?ご協力いただけると幸いです。

「いいね!」 3

CSS が読み込まれなかった場合にネットワークログに表示されるエラーは何ですか?

テーマ/コンポーネントの問題である可能性については、セーフモードを試しましたか?

「いいね!」 1

いいえ、過去2週間でこの動作を数回、iPhoneでのみ確認しており、ユーザーからも同様の話を聞いていますが、再現できず、ランダムに発生しているようです。

「いいね!」 1

これは古いバグのようですね。現時点では再現できず、リンクされているトピックはすべて1年以上前のものです。フォーラムが最新の状態ではないようです。

「いいね!」 2

ありがとうございます。最新のベータ版アップデートを実行しています :frowning:

そのバグは何が修正されたのでしょうか?コンポーネントまたはテーマがこのバグを再生成した可能性があると思いますか?

「いいね!」 1

もう一度キャッチしようとしていますが、時々発生するようです。再現方法がわかりません。iOSでのみ発生するようです。

「いいね!」 1

複数のiOSデバイス、iPhone 15 Pro Max、iPad Air 第5世代、MacBook Air M2を使用していますが、再現できません :thinking:

お使いのデバイスのモデルとiOSのバージョンは何ですか?

「いいね!」 1

個人的には、最新のiOS 17.4を搭載したiPhone 12を使用しています。

これは、HTMLのa hrefを使用して外部へのリンクを張った場合にのみ発生するのですが、それでも時々しか発生しませんか?

修正されたバグが何であったか知りたいです。そうすれば、再現させるために何かをトリガーできるかもしれません。

「いいね!」 1

それらの報告は、DiscourseフォーラムのCSSの問題とどのように関連していますか?最初のものは明確に述べています。

フォーラムはこの問題の影響を受けていません

「いいね!」 1

これは同じ動作のようです。ディスコース内から外部リンクを開いたときです。たとえば、meta.discourse.org から https://discourse.org/ を開いたときです。

それなら、外部サイトに問題があるなら、フォーラムが原因の問題ではなさそうですね。

私もそう思っていましたが、フォーラムからクリックして移動した場合にのみ発生するようです。他の投稿も見つけたので、誰かがこの問題に光を当ててくれるかもしれないと思いました。iOSの問題かもしれません。毎回CSSを読み込むのではなく、時々だけ読み込む方が簡単でした:sweat_smile:

「いいね!」 1

@Lilly discourse が href をどのように処理するか、また iOS に関して特別な方法があるか共有していただけますか?これは Safari に関連する問題のようですが、discourse の中から別のドメインにアクセスする場合にのみ発生します。その別のドメインは、discourse が要求されたページの HTML をローカルに読み込もうとしているかのように読み込まれていません。

キャッシュなしポリシーを強制したり、www プレフィックスを試したりしましたが、何も機能しないようです。これはまさにここで言及されている問題です。

彼らはメインのウェブサイトが community.URL.com から読み込まれるようにしていましたが、それが同じ部分的なページ読み込みを引き起こしました。

よろしくお願いいたします!

当社のディスコースは、メインサイト (domain.com) のサブドメイン (here.domain.com) です。

数ヶ月前から、iPhone ユーザーから、サブドメイン (discourse) からメインサイトへのリンクをクリックした際に、CSS や JS が取得されず、HTML のみが取得されてしまい、使用不能になるという報告を受けています。

これは毎回発生するわけではありませんが、頻繁に発生するため、ユーザーはページをリロードして修正する必要があります。リロードすると、実際にはディスコース内に留まるため、再度クリックする必要があります。

nginx の access.log ファイルを見ると、ディスコースがメインドメインの index ではなく、メインドメインのファイルをフェッチしようとしている理由がわかります。
言うまでもありませんが、ディスコースにはこれらのファイルがないため、ページは壊れてしまいます。

これは nginx の「access.log」からのものです。

[19/May/2024:09:49:51 +0000] "here.domain.com" 176.76.227.47 "GET /js/cart/cart.js?v=0.32 HTTP/2.0" "Mozilla/5.0 (iPhone; CPU iPhone OS 17_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Ribblr Mobile" "-" 429 230 "https://here.domain.com/c/testing/17" - 0.000 "-" "-" "-" "-" "-" "-" "-"

[19/May/2024:09:49:51 +0000] "here.domain.com" 176.76.227.47 "GET /css/footer_and_header.css?v=1.13 HTTP/2.0" "Mozilla/5.0 (iPhone; CPU iPhone OS 17_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Ribblr Mobile" "-" 404 7963 "https://here.domain.com/c/testing/17" 0.019 0.019 "-" "-" "-" "-" "-" "-" "-"
[19/May/2024:09:49:51 +0000] "here.domain.com" 176.76.227.47 "GET /css/common/jssocials.css?v=0.03 HTTP/2.0" "Mozilla/5.0 (iPhone; CPU iPhone OS 17_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Ribblr Mobile" "-" 404 7968 "https://here.domain.com/c/testing/17" 0.020 0.020 "-" "-" "-" "-" "-" "-" "-"
[19/May/2024:09:49:51 +0000] "here.domain.com" 176.76.227.47 "GET /js/common/lightslider.js?v=0.14 HTTP/2.0" "Mozilla/5.0 (iPhone; CPU iPhone OS 17_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Ribblr Mobile" "-" 404 7980 "https://here.domain.com/c/testing/17" 0.020 0.020 "-" "-" "-" "-" "-" "-" "-"
[19/May/2024:09:49:51 +0000] "here.domain.com" 176.76.227.47 "GET /js/common/jssocials.js HTTP/2.0" "Mozilla/5.0 (iPhone; CPU iPhone OS 17_4_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Ribblr Mobile" "-" 404 7978 "https://here.domain.com/c/testing/17" 0.034 0.034 "-" "-" "-" "-" "-" "-" "-"

href リンクと window.reload() の両方を試しましたが、問題は同じままです。繰り返しますが、これは時々しか発生せず、iPhone ユーザーにのみ発生します。

これがなぜ発生するのか、そしてどのように修正できるかについてのアイデアはありますか?

「いいね!」 1

これは、ここで説明したのと同じ問題ですか?

「いいね!」 1

はい、マージが必要です :sweat_smile:

何が問題だったのか、よりよく理解できたと思います。

「いいね!」 2

何かご意見をお持ちの方はいらっしゃいますか?@Lilly 数ヶ月前にここで話し合ったことを覚えています。何か追加の洞察を共有していただけますか?

これは、最初の投稿で共有したディスコースのウェブサイトと同じ問題だと思います。

このような奇妙な問題がいくつか報告されています。私たちの知る限り、これはSafari/WebKitのバグであるに違いありません。このような「混合サイト」レンダリングが発生することは不可能であるはずです。WebKitにレポートを提出しました。(cc @pmusaraj)

もし誰かがこの問題を再現する一貫した方法を見つけることができれば、バグの優先順位を上げるのに間違いなく役立つでしょう。

「いいね!」 6

外部リンクの回避策のアイデアはありますか?
HTMLのHREFとJSのwindow.replaceはどちらも同じように動作します :frowning:
(フォワード/バックはほとんどオーバーライド不可能だと確信しています)

「いいね!」 1

残念ながら、回避策のアイデアは何もありません。サービスワーカーを登録解除してみましたが、効果はありませんでした。

現在、ローカルではSafari Technology Previewに切り替えました。問題がないようです。これは、新しいバージョンのWebkitで修正されたことを示している可能性があります。または、キャッシュが新しいブラウザでは問題がないことを意味します…断言するのは難しいです。

これを監視し、修正を探し続けます。この問題は、Discourseチームの多くの人々や、さまざまなプラットフォーム(macOS、iOS、DiscourseHubアプリ)で発生しています。魔法のような修正を見つける以外に、ここでできる最善のこと​​は、Webkitのバグレポートに従い、関連性/有用な情報があれば追加することです。

「いいね!」 2