Dark-Demon, на jino-net тоже AddType запрещён
Добавлено Пнд 02 Окт 2006 14:24:50 :
Я там php-скрипт юзал, чтобы правильный Content-Type выдавать
Закрой кран
Включи свет ©
Fire! Kill IE is your desire | NULL | NULL
Отсутствует
по ходу дела xbl-ки надо править через вот эту функцию:
http://www.xulplanet.com/references/objref/XULDocument.html#method_loadBindingDocument
ща буду ковырять...
!
Отсутствует
custombuttons 0.0.2 alpha
Внимание! Это тестовая версия, со всеми вытекающими отсюда последствиями.
Совместимость: FF 1.5.0.* - 2.0
Скачать custombuttons 0.0.2 alpha
New:
- исправил права доступа на папку custombuttons в профиле
_____________________________________________________________________
custombuttons 0.0.1.3 alpha
Совместимость: FF 1.5.0.* - 2.0
Скачать custombuttons 0.0.1.3 alpha
New:
- по сравнению с версией 0.0.1.2 добавил только совместимость с Firefox2, а именно пару хаков, чтобы исправно работали кнопки, использующие метод bind.
Отредактировано Yan (04-10-2006 21:53:00)
Отсутствует
Dimanish
Потому что с 0.0.2 возникли некоторые трудности. Видимо, придётся существенно доработать.
Поэтому пока я сделал 0.0.1.3, чтоб можно было нормально пользоваться расширением в Firefox2.
Отсутствует
в общем через ту функцию сделать ничего не получится xbl-ки править на лету нельзя и это диагноз остаётся только вариант с временными файлами...
!
Отсутствует
в общем через ту функцию сделать ничего не получится xbl-ки править на лету нельзя и это диагноз...
Интересно, можно сделать ссылку на якорь (#) в data:// ?
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Anton, что ты имеешь ввиду?
!
Отсутствует
Если можно сделать ссылку на якорь, можно было бы "подшивать" образ *.xbl-файла по data:// протоколу.
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
ой какой изврат... зачем?
!
Отсутствует
ой какой изврат... зачем?
Ладно-ладно, не буду спорить. : ) Конечно, временные файлы гораздо естественней и, скорее всего, единственный приемлимый вариант.
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Anton, в общем, как и обещал сделал кнопку к своему расширению реализующую выпадающее меню.
в xul надо добавить такой код:
<toolbaritem id="cb2-useragent" class="chromeclass-toolbar-additional" style="-moz-binding: url('chrome://cb2-profile/content/custombuttons2.xbl#cb2-useragent');" />
а в xbl такой:
<binding id="cb2-useragent" extends="chrome://custombuttons2/content/custombuttons2.xbl#allbuttons"> <content context=""> <xul:menulist> <xul:menupopup> <xul:menuitem label="default UA" value="" /> <xul:menuitem label="FF 2.0b2 UA" value="Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1b2) Gecko/20060821 Firefox/2.0b2" /> <xul:menuitem label="IE 6.0sp2 UA" value="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)" /> <xul:menuitem label="Op 9.00 UA" value="Opera/9.00 (Windows NT 5.1; U; ru)" /> </xul:menupopup> </xul:menulist> </content> <implementation> <field name="prefservice">Components.classes['@mozilla.org/preferences-service;1'].getService(Components.interfaces.nsIPrefBranch)</field> <field name="prefname"> 'general.useragent.override' </field> <property name="pref"> <getter> return navigator.userAgent; </getter> <setter> <![CDATA[ if (val=='') this.prefservice.clearUserPref(this.prefname); else this.prefservice.setCharPref(this.prefname,val); return val; ]]> </setter> </property> </implementation> <handlers> <handler event="command"> this.pref= this.boxObject.firstChild.value; </handler> </handlers> </binding>
css в данном случае не используется. есть мысль вообще от него отказаться...
Отредактировано Dark-Demon (06-10-2006 12:32:48)
!
Отсутствует
К сожалению, в прошлый раз никто не ответил. Спрашиваю еще раз.
Можно ли создать кнопку, которая бы удаляла текущую страницу из закладок?
(И если можно, то может ли она еще и историю удалений писать куда-нибудь...)
Отсутствует
pongo, можно, разрешаю.
!
Отсутствует
pongo
custombutton://%u0423%u0434%u0430%u043B%u0438%u0442%u044C_%u0412%u0421%u0415_%u0437%u0430%u043A%u043B%u0430%u0434%u043A%u0438_%u043D%u0430_%u0442%u0435%u043A%u0443%u0449%u0438%u0439_%u0430%u0434%u0440%u0435%u0441%5D%5B%5D%5Btry%0A%7B%0A%20%20%20%20var%20rdfs%20%3D%20Components.%20classes%20%5B%22@mozilla.org/rdf/rdf-service%3B1%22%5D.%20getService%20%28Components.%20interfaces.%20nsIRDFService%29%3B%0A%20%20%20%20var%20bmds%20%20%3D%20rdfs.%20GetDataSource%20%28%22rdf%3Abookmarks%22%29%3B%0A%20%20%20%20var%20urlr%20%3D%20rdfs.%20GetResource%20%28%22http%3A//home.netscape.com/NC-rdf%23URL%22%29%3B%0A%20%20%20%20var%20urlv%20%3D%20rdfs.%20GetLiteral%20%28getBrowser%20%28%29.%20currentURI.%20spec%29%3B%0A%20%20%20%20var%20tbms%20%3D%20bmds.%20GetSources%20%28urlr%2C%20urlv%2C%20true%29%3B%0A%20%20%20%20var%20tbm%2C%20alo%2C%20res%2C%20tar%2C%20ali%2C%20src%3B%0A%20%20%20%20while%20%28tbms.%20hasMoreElements%20%28%29%29%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20tbm%20%3D%20tbms.%20getNext%20%28%29%3B%0A%20%20%20%20%20%20%20%20if%20%28tbm%20instanceof%20Components.%20interfaces.%20nsIRDFResource%29%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20alo%20%3D%20bmds.%20ArcLabelsOut%20%28tbm%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20while%20%28alo.%20hasMoreElements%20%28%29%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20res%20%3D%20alo.%20getNext%20%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28res%20instanceof%20Components.%20interfaces.%20nsIRDFResource%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20tar%20%3D%20bmds.%20GetTarget%20%28tbm%2C%20res%2C%20true%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28tar%20instanceof%20Components.%20interfaces.%20nsIRDFResource%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20bmds.%20Unassert%20%28tbm%2C%20res%2C%20tar%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20ali%20%3D%20bmds.%20ArcLabelsIn%20%28tbm%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20while%20%28ali.%20hasMoreElements%20%28%29%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20res%20%3D%20ali.%20getNext%20%28%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28res%20instanceof%20Components.%20interfaces.%20nsIRDFResource%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20src%20%3D%20bmds.%20GetSource%20%28res%2C%20tbm%2C%20true%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20%28res%20instanceof%20Components.%20interfaces.%20nsIRDFResource%29%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20bmds.%20Unassert%20%28src%2C%20res%2C%20tbm%29%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%20%20var%20rds%20%3D%20bmds.%20QueryInterface%20%28Components.%20interfaces.%20nsIRDFRemoteDataSource%29%3B%0A%20%20%20%20setTimeout%20%28function%20%28%29%20%7Brds.%20Flush%20%28%29%7D%2C%20100%29%3B%0A%7D%0Acatch%20%28e%29%0A%7B%0A%20%20%20%20alert%20%28e%29%3B%0A%7D%5D%5B
Удаляет все закладки на текущий адрес. Историю удалений не ведёт.
Anton, в общем, как и обещал сделал кнопку к своему расширению реализующую выпадающее меню.
Ну, во-первых, если перечитаешь старые PM, то заметишь, что я говорил о контекстном меню.
А во-вторых - почему доступна только с клавиатуры ?
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Anton, спасибо, но мне кажется, что код слижком сложный. Есть же BookmarksCommand.deleteBookmark или http://home.netscape.com/NS-rdf#command?cmd=deletebookmark. Вот только я не знаю что с ними делать
Отсутствует
Anton, спасибо, но мне кажется, что код слижком сложный. Есть же BookmarksCommand.deleteBookmark или http://home.netscape.com/NS-rdf#command?cmd=deletebookmark. Вот только я не знаю что с ними делать
Я начинал разработку кнопки с DoCommand, но не разобрался с аргументами cmd=deletebookmark, так что я тоже не знаю, что с ним делать. И BookmarksCommand/BookmarkRemoveTransaction тоже копал, но, имхо, с ними проще не будет, так как перед их вызовом надо формировать массив аргументов node/parentNode/nodeProperties - но, коль скоро они найдены, зачем их помещать их в массив и вызывать функцию ? Лишняя работа, проще сделать вызов Unassert.
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
новый билд: http://dark-demon.jino-net.ru/~files/cb2-tp4.rar
совсем отказался от css. картинки теперь переключаются через deck.
[b]Anton[/и] специально для тебя сделал кнопку с контекстным меню
!
Отсутствует
...
[b]Anton[/и] специально для тебя сделал кнопку с контекстным меню
Опять эти <toolbaritem>... Чтобы нужная кнопка появилась в диалоге нужно вручную править xul и/или extens'ы в xbl. Очень юзабельно.
Не убедительно, понимаешь. Смотри, как эти две кнопки можно сделать без xbl:
Кнопка с выпадающим меню:
<script type="application/x-javascript" src="chrome://global/content/nsUserSettings.js"/> <script type="application/x-javascript"> <![CDATA[ function showAlert (v) { var sa = Components. classes ["@mozilla.org/alerts-service;1"]. getService (Components.interfaces.nsIAlertsService); sa. showAlertNotification (null, "User Agent:", v, false, "", null); } ]]> </script> <toolbaritem id="cb2-useragent"> <menulist oncommand="nsPreferences.setUnicharPref('general.useragent.override',this.value);showAlert(this.value);"> <menupopup> <menuitem label="default UA" value="" /> <menuseparator /> <menuitem label="FF 2.0b2 UA" value="Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1b2) Gecko/20060821 Firefox/2.0b2" /> <menuitem label="IE 6.0sp2 UA" value="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727)" /> <menuitem label="Op 9.00 UA" value="Opera/9.00 (Windows NT 5.1; U; ru)" /> </menupopup> </menulist> </toolbaritem>
2. Кнопка с контекстным меню
<toolbarbutton id="cb2-about" context="cb2-about-context" oncommand="openAboutDialog();"> <label value="[about]" /> <menupopup id="cb2-about-context" onclick="event.stopPropagation()"> <menuitem label="config" oncommand="loadURI('about:config');" /> <menuitem label="mozilla" oncommand="loadURI('about:mozilla');" /> <menuitem label="plugins" oncommand="loadURI('about:plugins');" /> <menuitem label="license" oncommand="loadURI('about:license');" /> <menuitem label="neterror" oncommand="loadURI('about:neterror');" /> <menuitem label="blank" oncommand="loadURI('about:blank');" /> <menuitem label="buildconfig" oncommand="loadURI('about:buildconfig');" /> <menuitem label="feeds" oncommand="loadURI('about:feeds');" /> <menuitem label="credits" oncommand="loadURI('bout:credits');" /> <menu label="cache"> <menupopup> <menuitem label="memory" oncommand="loadURI('about:cache?device=memory')" /> <menuitem label="disk" oncommand="loadURI('about:cache?device=disk')"/> </menupopup> </menu> </menupopup> </toolbarbutton>
Кратко и без всяких namespaces, handlers, getters/setters.
Время настанет, время придет...
И лис кОнкурiентов на части порвет !!!
Отсутствует
Опять эти <toolbaritem>... Чтобы нужная кнопка появилась в диалоге нужно вручную править xul и/или extens'ы в xbl. Очень юзабельно.
ничего подобного. xul генерится автоматом и пользователю его править не надо. только xbl.
Не убедительно, понимаешь. Смотри, как эти две кнопки можно сделать без xbl:
в кокретном примере с контекстным меню преимуществ у xbl практически нет. однако в других случаях (bb-кнопки, например) xbl смотрится много более привлекательно, чем xul или dom.
Кратко и без всяких namespaces, handlers, getters/setters.
ну давай меряться пиписьками... реализуй тогда cb2-imagesh на xul.
если очень хочется сделать через xul - никто не мешает вставить этот xul в xbl. а вот с обратным у тебя будут проблемы...
!
Отсутствует