gpt4 book ai didi

javascript - 在 JavaScript 中测量文本大小

转载 作者:太空狗 更新时间:2023-10-29 12:38:48 24 4
gpt4 key购买 nike

我想测量 JavaScript 中文本的大小。到目前为止这并不是那么困难,因为我可以简单地将一个临时的不可见 div 放入 DOM 树中并检查 offsetWidth 和 offsetHeight。问题是,我想在 DOM 准备好之前执行此操作。这是一个 stub :

<html>
<head>
<script type="text/javascript">

var text = "Hello world";
var fontFamily = "Arial";
var fontSize = 12;

var size = measureText(text, fontSize, fontFamily);

function measureText(text, fontSize, fontFamily)
{
// TODO Implement me!
}

</script>
</head>
<body>
</body>
</html>

再说一遍:我知道如何在 DOM(或主体)发出准备就绪信号时异步执行此操作。但我想在标题中同步执行,如上面的 stub 所示。有什么想法可以实现吗?我目前的看法是这是不可能的,但也许有人有一个疯狂的想法。

最佳答案

您不必等到整个 DOM 准备就绪,只需准备好您需要的部分即可。

将脚本移动到内部 <body> .现在document.body存在,所以你可以 document.body.insertBefore(myspan, document.body.firstChild) . (但不要 appendChild ,否则您将把一个元素放在解析器所在的位置之上,这通常会破坏 IE。)

可能有更复杂的解决方法(可能使用 Canvas 和 measureText() 吗?)但这是迄今为止最简单的方法。

关于javascript - 在 JavaScript 中测量文本大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2856669/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com