LoginSignup
1

More than 1 year has passed since last update.

jQueryリダイレクトが遅くて画面が表示する。

Last updated at Posted at 2021-10-07

ある条件の時リダイレクト、別の画面に移動してくれと依頼発生

リダイレクトってどうやるんだろう...から調べていきました。
.htaccessの設定を操作する、サーバーサイドで操作する等が出てきて、
どうしようかなと思っていたところ。
jQueryでリダイレクト設定できるというのを見つけたので実装しました。

環境

MovableType 7
MtappjQuery
jQuery 3.4.1

jQuery リダイレクト設定
window.location.href = "https://sample.com"

windowはいるのか要らないのかよくわかってないです...。
なくてもできると思います。

jQuery 初期実装
$(document).ready(function(){
    if((mtappVars.me.name == "sample1" || mtappVars.me.name == "sample2") && mtappVars.scope_type == "user" && mtappVars.screen_id == "dashboard"){
        window.location.href = "https://sample.com"
    }
});

ただ単に入れるだけだと飛んでほしくないページが少しの時間表示され、
読み込みが完了後リダイレクトされるようになっていてカッコ悪い...。

.readyを入れて読み込むタイミングを変えても上手くいかなかったです。

最終結果

jQuery
if((mtappVars.me.name == "sample1" || mtappVars.me.name == "sample2") && mtappVars.scope_type == "user" && mtappVars.screen_id == "dashboard"){
    $('body').hide();//読み込み遅いためページ全てを非表示
    window.location.href = "https://sample.com"
}

読み込んでいる間[body]要素を非表示にして読み込んでるんだなと思わせることにしました。
これだと真っ白な画面が表示されます。

まとめ

根本的な改善にはならなかったので、
もっと時間をもらったときよく調べたいなと思いました。

2021-10-08追記
いろいろ調べた結果bodyの一番下でjsファイルが読み込まれている為
動作が遅いことが判明しました。head内に移動させるとスムーズに移動できました。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1