私の知る限り、ファイルに多数の行がある場合、codemirror は DOM に数行しかレンダリングしません。レンダリングされた DOM の開始行番号と終了行番号を取得できる変数または関数はありますか?
たとえば、ファイルに 1000 行あり、ファイルの途中にある場合、コード ミラーは 400 ~ 500 行のみを DOM にレンダリングした可能性があります。これらの開始行番号と終了行番号を取得するにはどうすればよいですか?
私の知る限り、ファイルに多数の行がある場合、codemirror は DOM に数行しかレンダリングしません。レンダリングされた DOM の開始行番号と終了行番号を取得できる変数または関数はありますか?
たとえば、ファイルに 1000 行あり、ファイルの途中にある場合、コード ミラーは 400 ~ 500 行のみを DOM にレンダリングした可能性があります。これらの開始行番号と終了行番号を取得するにはどうすればよいですか?
を呼び出すと、可視領域の行番号範囲を取得できますcm.getViewport()
。
ドキュメントから:
cm.getViewport()
→{from: number, to: number}
{from, to}
ドキュメントの現在レンダリングされている部分の開始 (含む) と終了 (含まない) を示すオブジェクトを返します。大きなドキュメントでは、ほとんどのコンテンツがスクロールされて表示されなくなると、CodeMirror は表示されている部分とその周囲の余白のみをレンダリングします。viewportChangeイベントも参照してください 。