新デザインで追加画面表示時にスクロールバーが一番下で表示される

いつもお世話になっております。

kintone画面デザインが新デザインへ移行した事に伴う画面表示の不具合について
質問させて頂きます。

現象の起こっている画面:レコード追加画面
現象の内容:スクロールバーが一番下になった状態で画面表示が行われてしまう。

補足事項:
◆現象の起こっている画面には、JSカスタマイズを入れています。
・既存の保存ボタンとフィールドを全て非表示にする。
・自アプリや別アプリからAPIでレコードを取得。
・取得したレコードの値を使用し、自前のプルダウンやテキストボックス等を作成。
・スペースフィールドを配置し、取得したレコードを表にして表示。
大まかに言うと上記の様な処理を行っており、コードがあまり綺麗でない事もあり、
旧デザインの頃から処理は重めです(表示まで十秒弱程度)。

◆処理内では、「スクロールバーを一番下にする」という記述はしておらず、
旧デザインでは上記現象は起きていませんでした。

◆現象の起きているレコード追加画面のレイアウトは以下の通りです。

[キャンセル][保存(非表示)]
[自前フィールド用のスペースフィールド]
[表用のスペースフィールド]
[各フィールド(非表示)]

◆新デザインでレコード追加画面を開くと、スクロールバーが一番下にあり、
かつ、非表示処理を行っている保存ボタンや各フィールドが表示された状態が十数秒続きます。
その後、保存ボタンや各フィールドは非表示になるのですが、スクロールバーの位置は
変わらずに一番下のままです。

上記現象が起こる原因や、解決策を探しています。
説明が下手で大変申し訳ないのですが、上記現象について何かご存知の方がいらっしゃいましたら、
ご教示頂きたくお願い致します。

宜しくお願い致します。

s.higuchi さん

旧デザインでは、ページ内でスクロールでしたが、新デザインでは、ページに対してスクロールするように変わりましたので、そのあたりが影響しているように思います。
それでも通常は、ページの先頭を表示のはずですので、何かエラーが出ていませんか?
暫定対策としては、JavaScript で、強制的にページトップを表示させる方法もあります。

それ以外の問題については、下記を検討してみてください。

・表示まで十数秒かかるところは、たぶんAPIの同期処理だと思います。
十数秒かかる処理は、処理方法を見直したほうがいいと思いますが、とりあえず
この部分を非同期に変更して、API処理中は、スピナー(ローディングアイコン)表示。

・「非表示処理を行っている保存ボタンや各フィールドが表示された状態が十数秒続き」
APIを非同期にすると、表示される時間が減りますが、それでも気になるようでしたら、CSSで非表示しましょう。

 

rex0220様

ご回答頂きありがとうございます。

あまり見当が付かない状態で困っていましたので、参考になりました。

調査を進め、画面一番下で非表示にしているkintone標準の各フィールドに対してフォーカスが

当たってしまっていた為、画面の一番下が表示されてしまっている事が分かりました。

旧デザインでは、フォーカス処理は行われていませんでしたので、やはり新デザインに変わった

ことによる現象の様です。

rex0220様のアドバイス通り、JavaScriptでスクロールバー位置の指定をする方法を

検討したいと思います。

大変助かりました。ありがとうございました。