2

javascriptを使用してHTML要素のサイズをバイト単位で取得するにはどうすればよいですか?

会話を表すリストがあります

<ul>
  <li>hello</li>
  <li>how are you?</li>
  <li>fine thanks</li>
  <li>nice to meet you</li>
  <li>nice to mmet you too</li>
</ul>

そして、その会話をlocalStorageに保存したいのですが、localStorageの制限はChromeで5MBなので、いくつかの検証を行うには、リストのサイズをバイト単位で知る必要があります。

4

1 に答える 1

4

要素をHTMLに変換しようとしている場合は<ul>、IDを指定してから使用できます。

var el = document.getElementById("convo");
var html = el.innerHTML;
window.alert(html.length);

または、マークアップが多く、テキストだけを取得したい場合は、li要素をループしてテキストだけを抽出し、それを配列に入れることができます。 JSON.stringify結果とその長さを取得します。

編集:

JavascriptはUCS-2、またはUTF-16内部的に使用します。どちらも16ビットエンコーディングです。ラテン語のテキストを想定する<string>.length *2と、かなり正確な見積もりになるはずです。

于 2012-09-18T12:49:43.983 に答える