Javascript-форум (https://javascript.ru/forum/)
-   Opera, Safari и др. (https://javascript.ru/forum/css-html-browser/)
-   -   multibox для Joomla в Opera (https://javascript.ru/forum/css-html-browser/6783-multibox-dlya-joomla-v-opera.html)

joney 22.12.2009 09:13

multibox для Joomla в Opera
 
неправилно работает multibox для Joomla в Opera
http://5k-studio.ru/index.php/portfolio
позиционирует всплывающее окно ниже, чем должно быть
в IE и FF все OK
Подскажите плиз, что и где подправить ?

joney 22.12.2009 13:02

Нашел ошибку, которая вызывает неправильное появление контейнера в опере: в multibox.js используеться функция window.getHeight() которая в опере работает несколько иначе, если имеет место прокрутка страницы. Решение проблемы состоит в том, чтобы например использовать clientHeight для получения длины окна и соответсвенно заменить window.getHeight() на например функцию
function getClientHeight() { return document.compatMode=='CSS1Compat' && document.documentElement.clientHeight; }

правда при таком решении наблюдается другой глюк - footer страницы не затеняется при открытии multibox :(
кроме того, ниже footer-а появляется пустое место на странице ...
что посоветуете ?

x-yuri 22.12.2009 13:47

Цитата:

Сообщение от joney
в multibox.js используеться функция window.getHeight() которая в опере работает несколько иначе если имеет место прокрутка страницы

какая опера? Что значит несколько иначе?

joney 22.12.2009 15:38

Вложений: 1
Опера последняя, 10.10
неправилно, значит multibox всплывает не по центру страницы, а внизу где-то, прикладываю предыдущий вариант

x-yuri 22.12.2009 23:54

нашел в чем сохранить. Ты пробовал в опере этот файл открыть?

x-yuri 23.12.2009 00:02

кроме того, ничего что у тебя 2 mootools загружаются?

а вообще сделай тестовую страничку с одним изображением (чтобы не было ничего лишнего), на которой проявляется баг и прикрепи к сообщению

subzey 23.12.2009 00:32

Я нихрена не понял, куда щелкнуть-то надо?

x-yuri 23.12.2009 00:38

Цитата:

Сообщение от subzey
Я нихрена не понял

я смотрю, вы сегодня не в себе :)

subzey 23.12.2009 00:52

Цитата:

Сообщение от x-yuri (Сообщение 38880)
я смотрю, вы сегодня не в себе :)

Могу же я, говоря, по сути, о себе же, использовать грубую лексику и эвфемизмы? Я на себя не обижусь. :)

UPD: И все-таки, где проблема-то на странице? Я уже начинаю чувствовать, что за мной следят какие-то синие человечки, тихонько смеясь и перешептываясь что-то про заговор.

joney 23.12.2009 01:51

Цитата:

Сообщение от x-yuri (Сообщение 38875)
нашел в чем сохранить. Ты пробовал в опере этот файл открыть?

пробовал конечно, в опере сохранил, затем в опере открыл для проверки, все ок

Цитата:

Сообщение от x-yuri (Сообщение 38875)
у тебя 2 mootools загружаются

а вот это номер ... только сейчас заметил ... теперь понять бы как эту хрень в Joomla отключить ...

Цитата:

Сообщение от x-yuri (Сообщение 38875)
сделай тестовую страничку с одним изображением

ок, завтра сделаю

subzey 23.12.2009 02:01

Переходите на jQuery и MODx. ;)

x-yuri 23.12.2009 02:12

Цитата:

Сообщение от joney
а вот это номер ... только сейчас заметил ... теперь понять бы как эту хрень в Joomla отключить ...

там с этим грустно, разработчики компонента zoo сделали как-то так в шаблоне
JHTML::_('behavior.mootools');
// add template mootools to JDocumentHTML
if ($this->params->get('loadMootools')) {
	$mootools = $this->params->get('gzip') ? '/lib/js/mootools.js.php' : '/lib/js/mootools/mootools-release-1.11.js';
	$this->_scripts = array_merge(array($template_baseurl . $mootools => 'text/javascript'), $this->_scripts);
	unset($this->_scripts[$this->baseurl . '/media/system/js/mootools.js']);
}

по сути что-то типа добавляем joomla'овский mootools, потом свой (непонятно зачем вручную), а joomla'овский убираем вручную

Цитата:

Сообщение от subzey
UPD: И все-таки, где проблема-то на странице? Я уже начинаю чувствовать, что за мной следят какие-то синие человечки, тихонько смеясь и перешептываясь что-то про заговор.

проблема частично исправлена
Цитата:

Сообщение от joney
правда при таком решении наблюдается другой глюк - footer страницы не затеняется при открытии multibox

и даже в opera 10 вроде все ok, но не в 9.63

joney 23.12.2009 02:23

Цитата:

Сообщение от x-yuri (Сообщение 38897)
добавляем joomla'овский mootools, потом свой (непонятно зачем вручную), а joomla'овский убираем вручную

я как-то пробовал mootools joomla'вский подменить на более новую версию, результат - менюшки в админке перестали активизироваться, просто текст, нажать нельзя.
Может их решение как-то с этим связано ...

x-yuri 23.12.2009 02:25

не, они отключили mootools только на сайте

joney 23.12.2009 08:46

а он там один идет
...\media\system\js\...

x-yuri 23.12.2009 11:53

где там? У тебя на страничке
<script type="text/javascript" src="/components/com_portfolio/utils/multibox/js/mootools.js"></script>
  <script type="text/javascript" src="/media/system/js/mootools.js"></script>


subzey, кстати, а там как-то решена проблема обновления jQuery? Или там предусмотрено использование нескольких версий?

joney 23.12.2009 12:19

Цитата:

Сообщение от x-yuri (Сообщение 38920)
где там? У тебя на страничке

нет, в Joomla 1.5 один
я имею в виду, что на сайте то они отключили родной joomla'вский, поскольку для работоспособности их решения нужен свой mootools.
А заменить joomla'вский на свой невозможно - joomla перестанет нормально функционировать, вот и приходится манипулировать

subzey 24.12.2009 03:24

Нет, просто цмс не подключает тебе насильно никаких фреймворков.

Я не издеваюсь, modx и jq очень даже неплохи. По крайней мере, вопросов "уууу, как же теперь отключить это?" не возникало ни разу.

x-yuri 24.12.2009 12:31

joomla только в админке подключает mootools, потому что какие-то компоненты его требуют (меню что ли). В принципе не совсем насильно. Но все равно если ты используешь готовые компоненты могут быть конфликты. Один компонент использует одну версию фреймворка, другой - другую. Третий использует другой фреймворк. Но тут, пожалуй, выхода особо нету. Либо ты пишешь без использования сторонних компонентов, либо с использованием, но тогда неполенись подключить несколько фреймворков

по поводу jQuery... совместными усилиями участников форума у меня сложилось мнение, что jQuery - недофреймворк. Пока что из jQuery, prototype, mootools мне нравиться последний


Часовой пояс GMT +3, время: 15:48.