Форум на Kuban.ru (http://forums.kuban.ru/)
-   Веб-дизайн и программирование (http://forums.kuban.ru/f1030/)
-   -   ZOOM страниц с пом. JS (http://forums.kuban.ru/f1030/zoom_stranic_s_pom_javascript-3100546.html)

ars_2007 24.09.2012 19:31

ZOOM страниц с пом. JS
 
body.style.zoom=\'150%\';
В принципе, лихко.
Но вот несрастуха. Не робит в опере и кажись в мозилле тоже не робит.
Но что интересно, опера выдает вот такое Invalid value for property: zoom.
По идее, значит, свойство она хавает, а вот формат, подсунутый этому свойству - нет.
И вообще, каким-то образом можно делать +/- для фрейма, чтобы было кроссбраузерно, или лучше не парицца и забить?

Kuba 24.09.2012 20:49

js нативный или фрэймворк??

Kuba 24.09.2012 20:52

попробуй указать значение не в процентах а в коэфициенте, = 1.5

ars_2007 24.09.2012 22:45

2-Kuba >
та уже что токо не пробовал. =)
Даже на суппорте оперы был, там пишут, что это типо низя, и можно типо через O-transform кокойты.
Но оно все равно никак. А жаль.

1-Kuba >
чисто js.
Но может если такое есть в JQ (и если оно в опере робит), то может как-то оттудова выдерну.

Samael 25.09.2012 02:03

>> По идее, значит, свойство она хавает, а вот формат, подсунутый этому свойству - нет.

Казалось бы логично, но нет. Я на яве не особо "бум-бум", но либо у Вас JS метод называется Zoom, либо создается "пользовательский" аттрибут, который имеет тип, не совпадающий с использованым (какой-нибудь неопределенный или что-то в этом роде). Это касательно ошибки.

А вот касательно зума - Opera такого знать не может, ибо этого нет в стандарте (а значит доктайпы тоже гуляют). Прямым путем только через -webkit(-moz)-transform.

>> Даже на суппорте оперы был, там пишут, что это типо низя, и можно типо через O-transform кокойты.

Правильно в суппорте подсказали, а если еще scale добавить, то даже работать будет:
document.body.style.OTransform = 'scale(1.50)';

И вот вам ваши 150%.

ars_2007 25.09.2012 19:53

[quote=Samael;26983570]document.body.style.OTransform = 'scale(1.50)'; И вот вам ваши 150%.[/quote]
дык обождите, вы ж пишете "Opera такого знать не может, ибо этого нет в стандарте (а значит доктайпы тоже гуляют)"..
ладно, попробуем, робит или не.

ars_2007 25.09.2012 19:54

хотя кажись еще вчера и это пробывал, в смысле OTransform = 'scale(1.50)';
кажись не сработало.
Ладно, еще раз попробую.

ars_2007 25.09.2012 20:11

Ух ты. Работает.
Видать я чо-то не то вчера пробовал =))
Спасибо, Samael.
Я уж думал забить на зумы.

ars_2007 25.09.2012 20:13

Токо вот как его перед тем как применять, сначала проверить на прием и "style.zoom", и "style.OTransform"?
Ну, чтобы не вылетела ошибка js.

Kuba 25.09.2012 21:24

определить браузер и в соответствии с ним вызвать нужную функцию.

ars_2007 25.09.2012 21:46

9-Kuba >
привязки к моделям браузера, это галяк.
надо чото типа var a = ("style.zoom" || "style.OTransform")
вернее, if("style.zoom")**.....
**elseif("style.OTransform")**.......

Samael 26.09.2012 00:48

[quote=Гавайские субтитры;26996893]Токо вот как его перед тем как применять, сначала проверить на прием и "style.zoom", и "style.OTransform"?[/quote]
Я сразу и не понял, что Вы имелли ввиду под этим.
[quote=Гавайские субтитры;26998145]привязки к моделям браузера, это галяк.[/quote]
Не соглашусь. Извините за каламбур, но определение браузера - это стандартная операция для выполнения нестандартных операций. Хотя под час - просто прописывают присвоение значений сразу двум свойствам или вызов обоих методов. Подобные ошибки не столь критичны. Что делать в данном случае - решать Вам. Как определить браузер - ответит гугл. В Вашем условии логики точно нет: "если персик - делать то, а если банан - делать это". При этом что "персик", что "банан" не понятно.

ars_2007 26.09.2012 01:05

[quote=Samael;26999389]Не соглашусь. Извините за каламбур, но определение браузера - это стандартная операция для выполнения нестандартных операций. Хотя под час - просто прописывают присвоение значений сразу двум свойствам или вызов обоих методов. Подобные ошибки не столь критичны. Что делать в данном случае - решать Вам. Как определить браузер - ответит гугл. В Вашем условии логики точно нет: "если персик - делать то, а если банан - делать это". При этом что "персик", что "банан" не понятно.[/quote]

Мой аргумент - на данный момент есть как минимум пять браузеров токо под вынь32.
IE, opera, safari,hrom, ff. И это не говоря о всяких разный убунтах, макосах и прочим причиндалам.

Прописывать действия под каждый браузер - несусветная глупость.

ars_2007 26.09.2012 01:08

[quote=Samael;26999389]"если персик - делать то, а если банан - делать это"[/quote]
гы.
Как раз логично.
Вариантов, в данном случае, у нас имеется всего два.
Значит,
если первый не проканал, пробуем другой. Все.
try catch и хватит.
А вы можете определять тип бравзера. Дело ваше. =)

Samael 26.09.2012 02:04

[quote=Гавайские субтитры;26999413]Мой аргумент - на данный момент есть как минимум пять браузеров токо под вынь32. IE, opera, safari,hrom, ff. И это не говоря о всяких разный убунтах, макосах и прочим причиндалам.[/quote]
Пытался понять, что конкретно имелось ввиду под "аргументом". Браузеров слишком много? Но если вы опираетесь на эти данные, тогда Вы должны знать, что для многих из браузеров используется один и тот же движок (из приведенных тот же сафари и хром).
[quote=Гавайские субтитры;26999413]Прописывать действия под каждый браузер - несусветная глупость.[/quote]
Не думаю, что данную мысль могут поддержать разработчики мобильных версий.
[quote=Гавайские субтитры;26999416]Как раз логично. если первый не проканал, пробуем другой. Все. try catch и хватит.[/quote]
Про данный момент я уже говорил. Многие так и делают (и даже без обработки исключений). Но я бы не рекомендовал этого делать, если "не линейные" задачи встречаются часто.[quote=Гавайские субтитры;26999416]А вы можете определять тип бравзера. Дело ваше. =)[/quote]
Я стараюсь избегать реализации в web'е задач, которые требуют кроссбраузерных решений (обычно это предполагает какую-нибудь "жесткий" интерфейс гружащий все и вся или запуск ядерной ракеты при не правильном вводе капчи). Либо найти другое решение. К примеру возьмем прозрачность какого-нибудь блока. Можно прописать несколько односмысленных свойств для разных браузеров, написать универсальный метод на js или использовать в качестве заднего плана полупрозрачное изображение. Решение зависит от конкретной ситуации.

ars_2007 27.09.2012 20:44

[quote=Samael;26999453]Пытался понять, что конкретно имелось ввиду под "аргументом". Браузеров слишком много? Но если вы опираетесь на эти данные, тогда Вы должны знать, что для многих из браузеров используется один и тот же движок (из приведенных тот же сафари и хром).[/quote]
И что, сафари унд хром хавают js 100% идентично? =))

[quote=Samael;26999453]Не думаю, что данную мысль могут поддержать разработчики мобильных версий.[/quote]
не думайте =)

[quote=Samael;26999453]Про данный момент я уже говорил. Многие так и делают (и даже без обработки исключений). Но я бы не рекомендовал этого делать, если "не линейные" задачи встречаются часто.[/quote]
поверю и приму на вооружение, если приведете конкретный пример.
Я - могу. Вы - не знаю. =)

[quote=Samael;26999453]Я стараюсь избегать реализации в web'е задач, которые требуют кроссбраузерных решений[/quote]
дело ваше. =)

Samael 27.09.2012 23:23

[quote=Гавайские субтитры;27024669]И что, сафари унд хром хавают js 100% идентично? =))[/quote]
Почитайте на досуге про WebKit, иначе потом речь пойдет о том, что у браузеров интерфейс отличается.
[quote=Гавайские субтитры;27024669]поверю и приму на вооружение, если приведете конкретный пример. Я - могу. Вы - не знаю. =)[/quote]
Пример чего? Как формировать страницу, если на ней 20 элементов, которые "везде ведут себя как хотят"? Вы и, правда готовы уйти в полемику, чтобы вместо условного комментария "<!--[if IE]> -->" использовать JS и биться об обработку исключений???

ars_2007 28.09.2012 00:35

[quote=Samael;27026274]чтобы вместо условного комментария " -->" использовать JS и биться об обработку исключений???[/quote]
биться об исключения проще, чем биться об if IE =)))

[quote=Samael;27026274]Почитайте на досуге про WebKit, иначе потом речь пойдет о том, что у браузеров интерфейс отличается.[/quote]
речь не про интерфейс, а про нормальное использование JS.


Текущее время: 20:27. Часовой пояс GMT +3.