>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Флейм http://forum.mozilla-russia.org/viewforum.php?id=14 >Помогите: произвол кнопкописателей http://forum.mozilla-russia.org/viewtopic.php?id=22267 |
Anton > 24-03-2008 22:32:02 |
Уважаемые форумчане ! Не знаю что и делать, надеюсь на вашу помощь. История такая: я, если кто не знает, занимаюсь разработкой оригинальной ветки расширения Custom Buttons. До версии 0.0.2.7 проблем особых не было. Но в 0.0.2.7 я решил реализовать несколько дополнительных нововведений, в числе которых поддержка API CB2 и расширенное контекстное меню. В той версии был баг с неработоспособностью "горячих" клавиш, я это заметил и выпустил 0.0.2.8. Но, кроме прочего там ещё были проблемы с контекстным меню, которые я не сразу заметил - мне просто не попадались кнопки, которые подменяют атрибут "context". Сейчас я выложил 0.0.2.9 на AMO - ожидает рецензирования. Эта версия учитывает, что некоторые кнопки могут подменять атрибут context. Но, возникла такая проблема: заявился ко мне на форум на mozdev товарищ кнопкописатель, потестировал новую версию со своими кнопками и опять обнаружил "проблему" с контекстным меню. Тут-то я понял, почему жаловались пользователи на 0.0.2.7/0.0.2.8, и понимаю, они будут жаловаться и на 0.0.2.9. Но. Дело всё в том, что его кнопки "бажные". Вкратце: они копируют контекстное меню расширения один-в-один, не заменяя даже идентификаторов, после чего контекстное меню ломается. В 0.0.2.6 и младших версиях этой проблемы не было видно, потому что расширения этих версий не работают с контекстным меню. Что мне теперь делать ? Делать даунгрейд из-за того что есть какие-то старые, криво написанные, не учитывающие возможное влияние на чужой код кнопки ? Но, возможно, этими кнопками пользуется много людей. Прошу помощи в этом вопросе. Заодним, может быть, кто-нибудь поможет мне в поддержке сайта на mozdev - я английский знаю на уровне басика, плохо разбираюсь в сайтостроительстве и администрировании. Благодарю за внимание, надеюсь на помощь. |
Infocatcher > 25-03-2008 01:02:58 |
Т.е. document.getElementById("custombuttons-contextpopup") возвращает не тот popup – я правильно понял? Выделить код Код:Object.prototype._cloneNode = Object.prototype.cloneNode; // Object ли? Object.prototype.cloneNode = function(param) { if(this.id == "custombuttons-contextpopup") { ... } else { this._cloneNode(param); } } и заканчивая #custombuttons-contextpopup { -moz-binding: url( что-то там ); } А вообще P.S. Кстати, а что будет, если до загрузки кнопок сохранить в какую-нибудь переменную document.getElementById("custombuttons-contextpopup") и работать потом уже с ней? |
Shutnik > 25-03-2008 06:03:01 |
ну по-моему выход логичный: пуст переписывают свои глючные кнопки или работают со старыми версиями расширения. |
TLemur > 25-03-2008 07:30:11 |
Anton А с английским я тебе помогу. Какая помощь тебе нужна? |
Anton > 25-03-2008 16:53:04 |
Infocatcher
id'ы тут не причём, xml-всё таки. Это я не разобрался. Shutnik
Был бы я волшебник, сказал "пусть будет так:...". А они считают, что их код не глючный - он ведь когда-то работал и баги не проявлялись. Они - гениусы, а я задумал угробить хороший проект. TLemur Боюсь, правда, там только писатели отмечаются. |
memini > 25-03-2008 17:06:14 |
Anton PS Исправил Warning на Attention. |
Shutnik > 25-03-2008 17:15:10 |
Anton пишет
ну тогда можно сделать режим совместимости со старыми кнопками |
Anton > 25-03-2008 18:02:53 |
memini Shutnik |
krigstask > 25-03-2008 19:01:44 |
Anton |
Unghost > 25-03-2008 21:25:03 |
Anton
А расширение не может определить наличие глючной кнопки и выдать соответствующее предупреждение пользователю? |
Anton > 27-03-2008 01:27:34 |
Простая проверка будет ненадёжной, сложная потребует ресурсов (хотя бы: таскаем правильную реализацию в пакете, если обнаружили - заменяем, но, это неправильно). И, боюсь, пользователям может не понравиться. Хотя, вопрос натолкнул на мысль использовать контроль версий целевого приложения/расширения - надо будет обдумать. К следующей версии попробую реализовать содержание контекстного меню всегда в актуальном состоянии. Спасибо за поддержку. |