Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.07.2009, 19:54   #1
a585
Пользователь
 
Регистрация: 04.07.2009
Сообщений: 10
По умолчанию скрипт о расположении шрифтов

Помогите,пожалуйста,чайнику написать скрипт!)
Я использую на сайте встроенный шрифт (WEFT).В IE всё отображается нормально. Но чтобы этот шрифт отображался и в других браузерах,пользователю надо или устанавливать этот шрифт у себя на комп, или использовать спец. плагины и др.
В общем, если этого не сделать (а далеко не все станут это делать),то вместо моего оригинального шрифта отображается Times.
Вот тут-то и возникает проблема. Текст в Times сдвигается вверх и вообще 'уже,так что выглядит соответственно смещенным влево.
Текст находится внутри <div>.
Как написать такой скрипт: если используется мой оригинальный шрифт,то параметры в div (left, top) такие-то; в др. случаях (т.е. необязательно даже уточнять,что при использовании Times) те же параметры -другие (указать,какие).

Последний раз редактировалось a585; 04.07.2009 в 19:58.
a585 вне форума Ответить с цитированием
Старый 04.07.2009, 20:35   #2
spein
Программист
Форумчанин
 
Аватар для spein
 
Регистрация: 27.02.2009
Сообщений: 505
По умолчанию

Вот мой вариант... извеняюсь, если есть ошибки. Я только начинаю JavaScript изучать...
Код:
<script>
var div
if (document.getElementByName('name') = true){
document.write("<div style='top:123;left:321'></div>")}
else {
document.write("<div style='top:321;left:123'></div>")}
</script>
<input type=submit name="name">
there are no limits when you're software engineer
spein вне форума Ответить с цитированием
Старый 06.07.2009, 22:52   #3
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

spein, Вы ничего не перепутали? Что вы ожидаете от выполения вашего скрипта?

a585, ваш вопрос в данном контексте не разрешим, средствами джаваскрипта вам не получить доступ к файловой системе компьютера и тем более к реестру системы (если это вин32). И если пройдя через грабли (ИЕ/WSH) в вин32 это как-то теоретически реализуемо, то о никсах я молчу вообще...
Как выход - юзайте гифы и/или пинги. Ну или VML / SVG / Flash
SkyM@n вне форума Ответить с цитированием
Старый 06.07.2009, 23:19   #4
a585
Пользователь
 
Регистрация: 04.07.2009
Сообщений: 10
По умолчанию

Цитата:
Сообщение от SkyM@n Посмотреть сообщение
И если пройдя через грабли (ИЕ/WSH) в вин32 это как-то теоретически реализуемо...
Спасибо, вот меня и интересует,как это реализовать в Windows.
Просто gif вообще мне не подходит, а для swf слишком много переделывать всего тогда надо.
a585 вне форума Ответить с цитированием
Старый 06.07.2009, 23:34   #5
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Цитата:
'================================== =================================== =====
'Этот скрипт демонстрирует возможность установки шрифта в систему.
'Синтаксис вызова: "InstallFont.vbs" /Font:"<Path>"
'Скрипт устанавливает шрифт, используя переданный ему в параметре файл шрифта.
'================================== =================================== =====
Option Explicit
Dim FSO
Set FSO = CreateObject("Scripting.FileSystemO bject")
'Если переданный в параметр этого скрипта файл шрифта существует, начинается установка шрифта
If FSO.FileExists(WScript.Arguments.Na med.Item("Font")) Then
Dim WSH
Set WSH = CreateObject("WScript.Shell")
'Копирование файла шрифта в системную папку шрифтов
FSO.CopyFile WScript.Arguments.Named.Item("Font" ), WSH.SpecialFolders("Fonts") & "\"
'Установка шрифта вызовом API
WSH.Run "RunDll32.exe gdi32.dll,AddFontResourceA " & FSO.GetBaseName(WScript.Arguments.N amed.Item("Font"))
End If
(скрипт не мой)
SkyM@n вне форума Ответить с цитированием
Старый 06.07.2009, 23:59   #6
a585
Пользователь
 
Регистрация: 04.07.2009
Сообщений: 10
По умолчанию

SkyM@n, спасибо еще раз,но я не это имел в виду.
В IE у меня и так всё великолепно работает благодаря встроенным шрифтам eot, создаваемым майкрософтской прогой WEFT (там скрипты вообще и не требуются).
Если же пользователям Мозилл и т.п. лень скачать и установить себе на комп предлагаемые для этого шрифты или специальные плагины (хотя это заняло бы несколько минут и инструкция подробная дана),то пусть тогда довольствуются теми же надписями,но по умолчанию отображаемыми в Times. Я просто хочу выровнять текст,который в Таймсе отображается криво (да думаю,так же он отображался бы и в Arial, т.к. я использую не совсем обычные шрифты).
Т.е. мне не нужен скрипт для установки шрифта.
Только скрипт для разных параметров в div в зависимости от того, какой шрифт присутствует.
Если опознается 1 шрифт, то должны быть одни параметры в div;
если же тот шрифт отсутствует -тогда другие.
a585 вне форума Ответить с цитированием
Старый 07.07.2009, 10:11   #7
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Вам нужно определить имя шрифта в не в ИЕ - браузере? Это вы не сделаете. Юзайте изображения (прозрачные png). Зачем же так извращаться?
SkyM@n вне форума Ответить с цитированием
Старый 07.07.2009, 16:42   #8
a585
Пользователь
 
Регистрация: 04.07.2009
Сообщений: 10
По умолчанию

А я считаю не самым лучшим вариантом использование пиксельной графики для шрифтов. А с флэш возиться долго.
А можно ли другим путем пойти?
Дело в том, что чтобы в IE тот особый шрифт отображался, загружается файл с ним (с расширением eot)с сайта,куда этот файл загружен, при этом пишется такой стиль:
Цитата:
<STYLE TYPE="text/css">
<!-- /* $WEFT -- Created by: имя создателя (email) on xx.xx.xxxx -- */


@font-face {
font-family: название шрифта;
font-style: normal;
font-weight: normal;
src: url(адрес ,где находится файл со шрифтом);
}
-->
</STYLE>
Можно ли так написать: если данный файл со шрифтом загрузился,то выполняются одни условия (параметры в div), если нет - другие?
a585 вне форума Ответить с цитированием
Старый 08.07.2009, 09:17   #9
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Цитата:
Сообщение от a585 Посмотреть сообщение
Можно ли так написать: если данный файл со шрифтом загрузился,то выполняются одни условия (параметры в div), если нет - другие?
Нет. Ваша задача решается лишь графикой. Не извращайтесь и делайте так.
SkyM@n вне форума Ответить с цитированием
Старый 08.07.2009, 13:33   #10
a585
Пользователь
 
Регистрация: 04.07.2009
Сообщений: 10
По умолчанию

Цитата:
Сообщение от SkyM@n Посмотреть сообщение
Нет. Ваша задача решается лишь графикой. Не извращайтесь и делайте так.
Я хотел бы почитать комментарии и других участников.
А как мне "извращаться" - это уж я сам решу.
a585 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
При расположении Label на компонентах, место под Label, не реагирует на событие onClick. NavigatorNeba Компоненты Delphi 3 15.11.2008 19:56
Установка шрифтов Ренат Садыков Общие вопросы Delphi 1 07.11.2008 16:32
вместо шрифтов рисуются иероглифы Sharley Общие вопросы Delphi 4 27.04.2008 18:41
Изменение шрифтов xTANATOSx Общие вопросы Delphi 3 07.11.2007 00:02
Смена шрифтов Vasyatka Общие вопросы Delphi 8 27.04.2007 12:28