気づけば寝ている...という日々が続いていたせいで全く更新ができなかった。いう言い訳から始まる今日の内容は...kintoneのURLをhackしていこう!この記事を書くキッカケになったのは、あるTweetであった。要望で、編集画面移行時にスクロール位置を詳細画面時のままにして欲しいというものがきました。手軽に実装できそうな方法、プラグインに心当たりのある方は、一報いただけると助かります。2019なるほどな...という要望。この方もこの後頭を抱えているように、kintoneでは実装が難しそうな部類である。いうのも、kintoneは取得した情報はその画面内でしか保持できない。画面遷移が入ると情報がパー。詳細画面で得た位置情報を編集画面に送る...ということができない。このTweetを見て僕も悩んでいた。して情報を編集画面に渡す方法はないものか...?と。自社で値を渡すカスタマイズが行われていたふと自分の会社のカスタマイズを思い出す。あぁ、やってるじゃん、僕。生徒を選んで欠席報告ボタンを押すと...URLに生徒番号のコードを付与して、編集画面に飛ぶ。その後はこのURLを解析して、生徒番号を取り出して自動ルックアップ。画面遷移しても情報を渡す方法!kintoneのURLの仕組みkintoneのアプリを開いたときのURLはこのようになっている。レコードを開けばこんな感じ。編集画面になるとこうだ。実はこうしても開ける。https://○○○○.cybozu.com/k/2/show#record=24&mode=edit&ねばまい!こんなこともできる。https://○○○○.cybozu.com/k/2/show#record=24&mode=edit&サイト名=ねばまい!&筆者=Teruしかし冒頭の要望を実現するには壁がある詳細画面から編集画面に飛ぶタイミングのイベントは存在しない。「詳細画面から編集画面を開くボタンを押した」というイベントは存在しない。これは、オリジナル編集ボタンを作って対応することになりそうだ。javascriptのonclickイベントを使う。Networkの下記の記事を参考にして作っていこう。レコード詳細にもボタンを設置しよう!しかーーし!kintone.app.record.getHeaderMenuSpaceElementでは、スクロールすると見えなくなってしまい今回実装したい機能を全く使えない。いうわけで、今回はDOM操作でこの位置にボタンを設置してみた。'位置保持編集';$('.gaia-argoui-app-toolbar-menu').append(editButton);2ボタンを押したタイミングの座標を調べる座標はwindow.pageYOffsetを使えば取得できる。今回はY軸(縦方向)のみ取得し、X軸は無視することにする。window.pageYOffset;3座標をURLに付与して編集画面に飛ぶonclickイベントにlocation.hrefを入れて飛ばす。position;4URLを解析して座標を取得するURLの#以降を取得し、ループ処理で配列に格納していく。});5座標位置にスクロールするscrollToを用いて座標にスクロール。詳細画面と編集画面ではフィールドの縦幅が異なるので、若干位置がずれる。使用しているフィールドによってずれ方が異なるので微調整が必要だと思われる。kintoneスポンサーリンクスポンサーリンク関連記事kintone任務だ、勤怠管理を作れ。会社のシステム開発担当として勤務。ねばまい!こんなの俺の道じゃない。