router.transitionToはチャットページでのみ中断され、ユーザーページのような他のリンクでは機能します

router.transitionTo('chat.index')urlMethod update をトリガーしようとすると、isAborted:true となり中断されます。原因が特定できないため、ご協力をお願いします。

一方で、router.transitionTo('/categories')router.transitionTo('/users') でトリガーおよびナビゲーションは可能なので、チャットページだけがナビゲーションに失敗する理由が謎です。

実際にナビゲーションに失敗しますか? それとも、機能してコンソールにエラーを出力しますか?

コンソールにエラーが表示されるだけの場合は、おそらく chat.index がリダイレクトであるため、次のようなものが必要になります。

router.transitionTo("chat.index").followRedirects();

ナビゲーションに失敗します。

follow redirects を使用した提案されたアプローチを試したところ、コンソールウィンドウに次の出力が表示されました。

{
“_id”: 298,
“_state”: 2,
“_result”: {
“name”: “TransitionAborted”,
“code”: “TRANSITION_ABORTED”
},
“_subscribers”:
}

ナビゲーションをトリガーする別の方法はありますか? これを行うためのより適切な方法があるかもしれません。私が達成しようとしているのは、カスタムボタンをクリックするとユーザーがチャットページに移動することです。@david

そのアイデアは私にとって合理的だと思われます。メタのデベロッパーコンソールでこれを試してみました。

Discourse.lookup("service:router").transitionTo("chat.index")

そして、それはうまく機能するようです。

チャットがテストしているユーザーに確実に利用可能であることを確認してください。

はい、チャットは利用可能です。ページのURLを https://forum.finsweet.com/chat に変更することで、手動でチャットページに移動できます。onload時に https://forum.finsweet.com/chat/c/general/2 にリダイレクトされます。

しかし、Discourse.lookup("service:router").transitionTo("chat.index") を実行すると失敗します。

Discourse の最新のテスト済みバージョンを実行していますか?ライブフォーラムの URL を共有していただけますか?

先ほど共有しました https://forum.finsweet.com

「いいね!」 1

セーフモードで実行してから、コンソールでそのコマンドを実行してみてください。テーマやプラグインのカスタマイズが遷移に影響しているかどうか気になります :thinking: