PHP で途中出力しながら、Javascriptで最下部にスクロールする
PHPで処理の経過を出力しつつ、最下部までスクロールしたい。
headとかにスクリプトを書いても、DOMがすべて読み込まれてないと処理されなかったりした。
こちらを参考に
https://www.itcore.jp/php_c/uFlush.php
直接、PHPでスクリプトを出力して動作ささせる方法にしてみた。
ただ、clientHeightでは要素内の高さしか取得してくれないので
ログの出力件数が多くなってきたりするとうまく動作しなかった
(ある一定の件数までは動作するがその後途中で止まってしまう)
なのでこちらの記事にあるページの最下部に移動する場合を参考に
「領域外で表示されないコンテンツを含む、要素のコンテンツの高さの測定値」から表示領域を引いて一番下までスクロールされるようにしてみた。
JavaScriptでスクロールを最下部に移動する方法 - Qiita
echo "<script>var element = document.documentElement; var bottom = element.scrollHeight - element.clientHeight; window.scroll(0, bottom);</script>"; // echo "\n<script>document.body.scrollTop = document.body.scrollHeight</script>\n"; @ob_flush(); // 出力バッファをフラッシュ(送信)する @flush(); // システム出力バッファをフラッシュする。