レガシーブラウザでDiscourseが読み込まれない

@david さん、これはどうでしょうか?

if (!String.prototype.replaceAll) {
	String.prototype.replaceAll = function(str, newStr){

		// 正規表現パターンである場合
		if (Object.prototype.toString.call(str).toLowerCase() === '[object regexp]') {
			return this.replace(str, newStr);
		}

		// 文字列である場合
		return this.split(str).join(newStr);

	};
}

あなたが共有したソリューションの文字列ブランチを変更しました。これにより、エスケープせずに文字列を正規表現に変換する際の修正が行われます。

「いいね!」 4

関数が2番目の引数として渡された場合、それは機能しないと思います。

"my string with my example".replaceAll("my", (match) => `test${match}`)

(関数に関するドキュメントはこちらで見つけることができます)

「いいね!」 5

iPad Air (iOSバージョン12.5.5) を使用しています。このタブレットで利用可能な最新バージョンのChromeブラウザでは、Sketchupフォーラムが読み込まれません。以前の投稿で言及されていたのと同じバナーメッセージが表示されます。新しいiPadにアップグレードする以外の、この問題を修正する方法はありますか?

それでいいと思います :+1:

これでうまくいくと思います。

「いいね!」 6

うーん、これはMacOS MojaveでDiscourseを使用する際の修正になりますが、iOS 12.5.5でもglobalThisのチェックが失敗するようです。

こちらもポリフィルしますか

「いいね!」 4

はい!サイト(DiscourseとCommunity.Jenkins.ioの両方)は、レガシーブラウザでも問題なく動作しているようです。コンテンツが表示され、投稿(Jenkinsとここ)もできます。

この解決のためにかかったすべての労力に、大変感謝しています。私が予想していたよりもはるかに複雑だったようです。

あとは、StackOverflowに破壊的な変更を元に戻すよう説得できれば(2度目ですが)、レガシーブラウザの機能を回復できます。一度は元に戻しましたが、彼らの新しい態度はユーザーのせいにするようです。

「いいね!」 4

はい、このフォーラムはiOS 12.2で再び動作するようになりました。ただし、https://support.last.fm/ はまだ動作していません(何か更新する必要があるかもしれません)。
修正していただき、ありがとうございました。

古いブラウザを壊さないことが、私たちの最大の焦点です。空白ページは、たとえ古いブラウザであっても、まったく許容できません。読み取り専用ビューは許容できます。

ここで起こった難しい点は、サポートされているともサポートされていないとも言えない、いわゆるトワイライト状態にあるブラウザがいくつかあり、残念ながらそれらは空白ページになってしまったことです。

最小ブラウザバージョン番号が徐々に上昇していく中で、定期的にこれらの問題に遭遇することを避けるために、今後より良いアプローチを検討しています。

「いいね!」 7

念のため確認ですが、https://support.last.fm/ のユーザーの一部から、まだ問題が報告されています: Mobile view of this forum is broken - #6 by tutibins - Get Help - Last.fm Support Community

この修正は、ホスティングされているサイトにすでに展開されましたか?

もしそうであれば、使用しているテーマ/コンポーネント、またはカスタムCSSが原因である可能性が示唆されますが、修正がまだ展開されていない場合は、その部分をいじりたくありません :slight_smile:

この件について、再度ご対応いただきありがとうございます。

「いいね!」 1

ジョンさん、こんにちは。この変更はまだホストされているすべてのサイトに展開されていません。しかし、今すぐプロセスを開始します。1時間ほどであなたのサイトに反映されるはずです。

「いいね!」 3

動作するようになりました!
ありがとうございます!

「いいね!」 1

素晴らしい、ありがとうデイビッド。:+1:

「いいね!」 3

forums.sketchup.comへの変更はいつ展開されますか?

今すぐデプロイします! :slight_smile:

「いいね!」 5

問題がまだ発生しているため、再オープンします。

計画:

  1. browser_update_user_agents を削除します。これ以上フィーチャー検出に使用したくありません。
  2. optimise_traffic_on_modern_mobile_browsers(デフォルトは true)を追加します。ユーザーがサポートされているモバイルブラウザ(最新の Chrome / Safari)を使用している場合、HTMLペイロードの送信を回避することでトランスポートを最適化します。
  3. クローラー / HTML ビューの基本的なデザイン作業(スタイリング / パディング / マージンの改善)などを @Designers が行います。

@Falco、これでどうでしょうか?

来週対応できるか確認します。もしできなければ、その次の週に内部で割り当てます。

「いいね!」 6

:+1:\n\n[quote="sam, post:50, topic:221412"]\nクローラー/HTMLビューの基本的なデザイン作業 - (スタイリング/パディング/マージンの改善)など、@Designers による作業\n[/quote]\n\nMetaでのテストには注意してください。ここのテーブルレスデザインの実験により、クローラービューがかなり後退しました。\n[quote="sam, post:50, topic:221412"]\nまだ問題を抱えている人もいます。\n[/quote]\n\n初期のiOS 12のユーザーは、window.globalThisがないため、アプリを起動できないままです。これはBrowserstackで簡単に再現できます。それらのユーザーのために、HTMLのnoscriptコンテンツを出荷する必要があります。あなたの計画ステップ1で解決できます。

「いいね!」 5

これらのビューをより読みやすくするために、マイナーなPRを作成しました。

「いいね!」 10

素晴らしいですね。PRにもコメントを残しました。Googleはモバイルファーストインデックスを採用しているので、このビューの一般的なユーザーはモバイルユーザーなので、モバイル解像度を慎重にテストする必要があります。

「いいね!」 5