Bug(バグ) #3364
完了スマートフォン向けUIで、ホーム画面以外から「PC表示に切り替え」ボタンを押した場合の挙動が正しくない
0%
説明
現象¶
スマートフォン端末で、メンバー検索 (/member/search) やフレンドリスト (/friend/list) のようにURLのパスが2階層以上のページで「PC表示に切り替え」ボタンを押すと、PC向け画面に切り替わらずにホーム画面に移動する。また、「PC表示に切り替え」ボタンを押したページの階層以下でのみPC向け画面で表示される。
例¶
- スマートフォン端末から、コミュニティ検索 (/community/search) を開く
- 「PC表示に切り替え」ボタンを押す
- ホーム画面に移動するが、スマートフォン向け画面のまま表示される
- メンバー検索 (/member/search) など異なる階層のページでもスマートフォン向け画面となる
- コミュニティ検索 (/community/search) やコミュニティ作成 (/community/edit) ではPC向け画面に切り替わっている
原因¶
source:web/js/smt_main.js の「PC向け表示」ボタンに関するコードは下記のようになっている。
$('#smt-switch')
.show()
.click(function() {
document.cookie = "disable_smt=1";
location.href = $(this).attr('href');
});
document.cookie
によって Cookie を設定しているが path が指定されていない。path が指定されていない場合のデフォルト値は、表示中のページのパスとなる。つまり、コミュニティ検索 (/community/search) ページの場合は /community/ が path にセットされる。よって、この場合は /community/ 以下の階層のページで disable_smt の値が有効となり、それ以外のページでは依然としてスマートフォン向け画面が表示されることになる。
修正内容¶
#3365 によって openpne.baseUrl
を追加した上で、Cookie 設定時の path に openpne.baseUrl
を指定することによって SNS 内の全てのページで disable_smt の値が有効となるようにする。
Youichi Kimura さんが11年以上前に更新
- ステータス を Accepted(着手) から Pending Review(レビュー待ち) に変更
- 進捗率 を 0 から 50 に変更
更新履歴 b460dfa0c0e3c7fa022304f448fe15cfd21d26b9 で適用されました。
isao sano さんが約10年前に更新
- コピー先 Backport(バックポート) #3713: スマートフォン向けUIで、ホーム画面以外から「PC表示に切り替え」ボタンを押した場合の挙動が正しくない を追加
isao sano さんが約10年前に更新
- コピー先 Backport(バックポート) #3714: スマートフォン向けUIで、ホーム画面以外から「PC表示に切り替え」ボタンを押した場合の挙動が正しくない を追加
kaoru n さんが8年以上前に更新
- ステータス を Pending Review(レビュー待ち) から Rejected(差し戻し) に変更
openpne.baseUrl が定義・設定されていないので、 例の 1, 2, において、path が /community/ に設定されます。
なお、opMessagePlugin の場合は、下記のように定義・設定されています。
https://github.com/tejimaya/opMessagePlugin/blob/master/web/js/smt-message.js#L37-L41