Существует проект 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 вокруг в моих приложениях как белая краска. Это предлагает дешевую расширяемость для очень небольшого количества стоимости и является большим механизмом реализации.
Это может быть полезно в нескольких ситуациях -
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 ())
Использование jQuery (при условии что вам нужен размер шрифта определенного элемента):
var originalFontSize = $ ('# your_element_id_here'). css ('font-size')
;
Если вы используете Prototype, а также jQuery, вы захотите использовать префикс jQuery вместо знака доллара:
var originalFontSize = jQuery('#your_element_id_here').css('font-size');
Это вернет значение в виде строки вида: 16px.
Одна уловка, которую я видел / использовал в прошлом, - это визуализация некоторого текста (скажем, 50 произвольных символов, или Ms), а затем измерьте размер отображаемого контейнера и выполните математические вычисления, чтобы вычислить высоту и ширину отдельного символа. Это то, что вы собираетесь делать? Вы можете выполнять рендеринг в фоновом режиме, чтобы пользователь этого не видел.
Хотя кажется, что получение размера шрифта по умолчанию может быть хорошей идеей - если он устанавливает макет ваших страниц и тому подобное, вероятно, более безопасным способом будет просто позволить пользователю справиться с этим.
Если у них есть свой размер шрифта больше - это потому, что они слепые, и наоборот. Я бы рекомендовал установить настройки по умолчанию и «рекомендовать» разрешение / размер. Если ваше приложение не зависит от этого, позвольте пользователю управлять этим.
Это работает в 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>