2024.11.14
いまさらNode.jsを知ろう~環境構築も~
2017.12.08
プログラミングBoopstrapのDateRangePickerを使っているとページが重くなる
坂東です。
特定のWebページをブラウザで閲覧していると、だんだん重くなるという報告が クライアントありました。
そのページはAJAXバリバリで、画面遷移なしで数時間も開きっぱなしになる類の設計です。
こういうときの原因は大体メモリリーク。
ChromeのDeveloper Toolsで調べると、たしかに発生している。
でもGoogle MapsやSocket.ioなど自分の実装外の所で、しかもリークは軽微なので3日開きっぱなしでも大丈夫なくらい。
いろいろやってると、カレンダーを開く操作をするたびbody直下にこれが延々と増えてく。
<div class="daterangepicker dropdown-menu single opensright show-calendar" ・・・
カレンダーの表示にBootStrapのdaterangepickerを使っています。
$('#ELEMENT').daterangepicker({…})
このELEMENTはAJAXで何度も作っては消してをする部分なのですが、消した後にdaterangepickerだけが残っていたわけですね。
こうやって明示的に消すようにしました。
$('#ELEMENT').data('daterangepicker').remove();
おわり。
【記事への感想募集中!】
記事への感想・ご意見がありましたら、ぜひフォームからご投稿ください!【テクノデジタルではエンジニア/デザイナーを積極採用中です!】
下記項目に1つでも当てはまる方は是非、詳細ページへ!Qangaroo(カンガルー)
【テクノデジタルのインフラサービス】
当社では、多数のサービスの開発実績を活かし、
アプリケーションのパフォーマンスを最大限に引き出すインフラ設計・構築を行います。
AWSなどへのクラウド移行、既存インフラの監視・運用保守も承りますので、ぜひご相談ください。
詳細は下記ページをご覧ください。
最近の記事
タグ検索