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,但在 chrome 中 localStorage 限制为 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-2orUTF-16内部,两者都是 16 位编码。假设拉丁文,<string>.length *2应该是一个相当准确的估计。

于 2012-09-18T12:49:43.983 回答