Нужна помощь с доработкой JS, исправить 1 баг, можно даже за $
Доброго времени суток, уважаемые господа (и дамы, если таковые имеются)
Есть один java-скрипт от расширения для Firefox, который работает, но есть в нем один баг. В общем скрипт при наведении на ссылку с изображением показывает во всплывающем окне это изображение, или его уменьшенную копию, это как будет настроено. Баг заключается в том, что если изображение по высоте больше, чем высота окна (при условии настроек - показ изображения возле курсора мыши) и если показывается выше курсора (так, как ниже не влазит), то оно почему-то обрезается по высоте до положения курсора, а ширина остается правильной. Вот скрин: ![]() Код очень большой и просто так разбираться в нем, "чтобы просто помочь" мало, кто захочет, поэтому готов предложить небольшую плату за его исправление. Прошу подойти к дело серьезно. Сам код можете посмотреть тут или скачать тут, чтобы сильно не загромождать страницу форума |
"небольшая плата" - понятия относительное.
более конкретные цифры, пожалуйста, а то вдруг вы подразумеваете 5$ |
Больше. Ну, об этом можно договориться отдельно.
На самом деле работы не много. Я ведь не прошу написать новый скрипт, а лишь исправить один баг. Слишком много предложить не могу, но всё же надеюсь на вашу помощь. Если есть интерес, пишите в icq: 260288256 |
Цитата:
То, что вы разместили предложение о работе не в соответсвующем разделе форума, это не значит, что вы можете не выполнять правила для него. http://javascript.ru/forum/job/3330-pravila.html Так, что пожалуйста укажите способ и размер оплаты. Цитата:
Я, например пока не могу навскидку оценить объем работы, так как вы не указали живого примера(не хватает HTML-а, картинок и стилей с которым предполагается работать плагину) Бесплатно же вычитывать же весь код для оценки работы, с применением прогрессивных телепатических технологий, сами понимаете, мне не хочется. Цитата:
А иногда, даже дороже чем изначальный скрипт |
Конкретно готов заплатить в качестве благодарности 10$. Именно в качестве благодарности, поэтому и создал в этом разделе.
Про способ оплаты, мне удобней через киви кошелек. Через него уже могу отправить куда вам нужно, вроде... Я почти со всем кодом разобрался, однако исправить баг самому не получается. Получить все необходимые стили и картинки можете получить связавшись со мной в icq (260288256) или через почту (heavenanvil@gmail.com) |
У вас в коде есть такие места:
//this.popupWindow.style.width = (imgWidth +20)+'px'; //this.popupWindow.style.height = (imgHeight+20)+'px'; this.popupWindow.style.width = 'auto'; this.popupWindow.style.height = 'auto'; Конечно вслепую разбираться практически нереально, но вы не пробовали раскомментировать первые строчки и закомментировать две последние? Мне кажется, что происходит такое из-за того, что auto ужимает ваш элемент от верха экрана до текущего места нахождения курсора. |
Андрей Параничев, это пробовал в первую очередь. Ничего не изменяется.
|
Не совсем удачная мысль помоему, делать full preview равным реальному размеру изображения.
Лучше всё таки ограничить preview каким нибудь 400x600. А ещё лучше прописать только высоту или ширину, чтобы браузер вычислил недостающий параметр сам и не деформировал изображение. Благодаря этому пользователь сможет увидеть большую картинку целиком, а не только её половину. можно сделать даже более разумным плагин. если left картинки+ширина картинки > ширины окна тогда left картинки= ширина окна- ширина картинки. То есть не даём картинки вылазить за пределы экран. |
DjDiablo, то есть Вы имеете ввиду: Если картинка не влазит в экран, уменьшаем её так, чтобы влезла, а если влазит, то не изменяем, а просто показываем. Так?
Хм. Возможно данный метод решит проблему. Хотя в настройках плагина есть галочка типа: Максимальная высота изображения. Если меньше этого значения, то она уменьшается (но вы наверно заметили это по коду). Так вот даже если я ставлю значение равное высоте разрешения моего экрана, проблема все равно остается, обрезается на уровне курсора. Так, что может этот способ и не решит проблему. Найдется кто смелый попробовать реализовать то, что DjDiablo, задумал? У меня пока опыта маловато, очень много времени потрачу на это, но век живи, век учись :) |
Вот. что мне ответил автор этого скрипта:
Цитата:
|
Гы, он предложил практически то же самое)))
можно посмотреть на код страницы которая вызывает плагин. Есть мнение что можно решить это не меняя код плагина. что касается плагина тут интересна функция prePicResize и previewShown особенно интересно почему в них такой схожий код Если первая отвечает за маштабирование, то вторая за маштабирование и установку img в popupWindow :lol: ещё очень забавляет this.popupWidth = (imgWidth / scale) +20; тобиш вычисляется ширина окна, но нигде и никак не применяется )))) ширина окна по сути устанавливается строкой this.popupWindow.style.height = 'auto'. Что наталкивает на мысль о том что popupWindow меньше чем изображение возможно this.popupWindow.style.height=this.popupHeigh+"px" ; было бы более удачным решением. даже особенно не вникая чувствую что плагин на самом деле очень кривой. Всё таки выложи страницу с багом целиком, мне свой тест к этому плагину писать дико обламывает) |
http://narod.ru/disk/24212975001/add....7-fx.xpi.html
Вот сам плагин, открывается с помощью любого архиватора. Там уже найдете все скрипты и файлы настроек. "Код страницы, которая вызывает плагин" в файле "imagepreviewOverlay.xul" Собственно исправив код, можете сразу и проверить его у себя :) |
Смелых пока нет :(
|
Цитата:
Цитата:
|
Может и так, а может и нет. Не все же тут ради денег, верно Gvozd?
|
страница с примером есть?
|
Цитата:
многим здесь, как и мне приятно просто помогать людям. но, в вашем случае это уже не помощь(ведь автор скрипта уже помог вам с решением), а уже выполнение работы для вас. тут уже вступают в силу законы денег, раз вы хотите чтобы кто-то сделал для вас работу. |
Наконец дошли руки посмотреть. И тут я с удивлением обнаружил что плагин несовместим с последними версиями firefox. пробывал 6.1 и 6.2.
Кажется он устарел ещё до выпуска )) Как его менять чтобы соответствовал я ХЗ. Как то плагины писать ни приходилось. |
Да, оригинальная версия расширения устарела давно, но её просто адаптировать под любую версию:
Чтобы адаптировать плагин, нужно сохранить его на жестом диске, в формате xpi, открыть архиватором и в файле install.rdf в строке <em:maxVersion>x</em:maxVersion> заменить x на версию браузера, например 6.2 или 6.* Хотя вроде та версия, которую я выкладывал уже была адаптирована, но можете попробовать вручную. |
Часовой пояс GMT +3, время: 19:20. |