Как я могу получить размер стандартного шрифта в пикселях при помощи JavaScript или JQuery?

Существует проект Phobos , который является стороной сервера платформа JavaScript.

Назад В День, веб-сервер Netscape предложил сценарий Java серверной стороны также.

В обоих из этих случаев, JavaScript используется точно так же, как Вы использовали бы любой язык на сервере. Обычно обработать Запросы HTTP и генерировать содержание.

Носорог , который является системой JavaScript Mozilla для Java, компилирует JavaScript в в Байт-коды Java, которые JVM может выбрать к JIT. Другие системы используют другие средства для выполнения сценария Java, даже до такой степени, что некоторые - JIT, компилирующий их сценарий Java внутренние коды.

я предвижу, что будет все больше JavaScript на сервере. Когда Вы пишете "толстые" приложения в JavaScript на клиенте, тогда можно также быть в состоянии записать логику в JavaScript на сервере для не создания познавательных прыжков от одного языка до другого. Среды будут отличаться, но большая часть Вашего кода и знания будет совместно используема.

Наконец, JavaScript является, вероятно, исключительным языком, который имеет большую часть денег, указывающих на него прямо сейчас с точки зрения реализаций. От Apple, Mozilla, Google, и даже Microsoft, а также усилий сделать его еще более усовершенствованным языком (т.е. в основном Схема с алгольным синтаксисом без макросов).

Большинство из тех реализация прокладывается под землей в браузере, но но это вовсе не значит что нет никакого значения на стороне сервера также.

инструменты являются самым большим местом, где JavaScript недостает, особенно на стороне сервера, но если Вы рассматриваете что-то как Phobos, где можно отладить сторону сервера JavaScript в IDE, это - большое продвижение.

Лично, я бросаю JavaScript вокруг в моих приложениях как белая краска. Это предлагает дешевую расширяемость для очень небольшого количества стоимости и является большим механизмом реализации.

11
задан Arthur Ronald 18 September 2009 в 11:24
поделиться

5 ответов

Это может быть полезно в нескольких ситуациях -

function getDefaultFontSize(pa){
 pa= pa || document.body;
 var who= document.createElement('div');

 who.style.cssText='display:inline-block; padding:0; line-height:1; position:absolute; visibility:hidden; font-size:1em';

 who.appendChild(document.createTextNode('M'));
 pa.appendChild(who);
 var fs= [who.offsetWidth, who.offsetHeight];
 pa.removeChild(who);
 return fs;
}

alert (getDefaultFontSize ())

19
ответ дан 3 December 2019 в 01:53
поделиться

Использование jQuery (при условии что вам нужен размер шрифта определенного элемента):

var originalFontSize = $ ('# your_element_id_here'). css ('font-size') ;

Если вы используете Prototype, а также jQuery, вы захотите использовать префикс jQuery вместо знака доллара:

var originalFontSize = jQuery('#your_element_id_here').css('font-size');

Это вернет значение в виде строки вида: 16px.

2
ответ дан 3 December 2019 в 01:53
поделиться

Одна уловка, которую я видел / использовал в прошлом, - это визуализация некоторого текста (скажем, 50 произвольных символов, или Ms), а затем измерьте размер отображаемого контейнера и выполните математические вычисления, чтобы вычислить высоту и ширину отдельного символа. Это то, что вы собираетесь делать? Вы можете выполнять рендеринг в фоновом режиме, чтобы пользователь этого не видел.

4
ответ дан 3 December 2019 в 01:53
поделиться

Хотя кажется, что получение размера шрифта по умолчанию может быть хорошей идеей - если он устанавливает макет ваших страниц и тому подобное, вероятно, более безопасным способом будет просто позволить пользователю справиться с этим.

Если у них есть свой размер шрифта больше - это потому, что они слепые, и наоборот. Я бы рекомендовал установить настройки по умолчанию и «рекомендовать» разрешение / размер. Если ваше приложение не зависит от этого, позвольте пользователю управлять этим.

1
ответ дан 3 December 2019 в 01:53
поделиться

Это работает в FF.

<script>
function getStyle(el,styleProp)
{
    var x = document.getElementById(el);
    if (x.currentStyle)
        var y = x.currentStyle[styleProp];
    else if (window.getComputedStyle)
        var y = document.defaultView.getComputedStyle(x,null).getPropertyValue(styleProp);
    return y;
}

function GetSt()
{
    var font_size = getStyle("div2","fontSize"); 
    alert ( font_size );
}

</script>
<div id="div1" style="height: 100px;font-size: 20px;">
<div id="div2" style="font-size: 2em;">
test
</div>
</div>
<button onclick="GetSt();">Click</button>
1
ответ дан 3 December 2019 в 01:53
поделиться
Другие вопросы по тегам:

Похожие вопросы: