>Форум Mozilla Россия http://forum.mozilla-russia.org/index.php >Разработка http://forum.mozilla-russia.org/viewforum.php?id=18 >Вставка Смайликов :) http://forum.mozilla-russia.org/viewtopic.php?id=34222 |
Keepun > 25-04-2009 04:22:11 |
Я не нашел простого расширения, чтобы грузилась страница в Боковой панели с набором смайликов и при клике на вставлялся текст "[ img]URL Smile[/img]" где находится курсор. Самому мне в лом сейчас разбираться в XUL, а обычными возможностями JavaScripts тут похоже не обойтись... Написал парсер на Пыхе для генерации списка. Кто хочет закончить начатое? Выделить код Код:<?php function getpage($host, $headers) { $site = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); if (!$site) return false; socket_bind($site, 0, 0); socket_connect($site, gethostbyname($host), 80); socket_write($site, $headers, strlen($headers)); $html = ''; while (($text = socket_read($site, 1024, PHP_BINARY_READ)) !== false) { $text = preg_replace("/\r\n.{1,3}\r\n/", '', $text); $html .= $text; // print $text; if (strrpos($html, '</html>') || strrpos($html, '</HTML>') || strrpos($html, 'TTP/1.1 302 Found') ) break; } socket_shutdown($site); socket_close($site); return preg_replace("/\r\n.{1,3}\r\n/", '', $html); } $GET = "GET /content_plugins/gallery/gallery.php HTTP/1.1\r\n"; $headers = "Host: www.kolobok.us\r\nUser-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.9) Gecko/2009040821 Firefox/3.0.9\r\nAccept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8\r\nAccept-Language: ru,en-us;q=0.7,en;q=0.3\r\nAccept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\r\nKeep-Alive: 300\r\nConnection: keep-alive\r\n\r\n"; $page = getpage('www.kolobok.us', $GET.$headers); if ($page === false) die('Not get!'); if (!preg_match_all("/<a href=\"gallery.php\?smiles\.(\d+)\">([^(<\/a>)]*)<\/a>/", $page, $smlist)) {die("\nFINISH!!!!!!\n");} print_r($smlist); $html = <<<HTML <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> <html xmlns='http://www.w3.org/1999/xhtml' xml:lang="ru"> <head> <title>Смайлики</title> <meta http-equiv='content-type' content='text/html; charset=utf-8' /> </head> <body> <table> <tr> <td>Kolobok.us</td> </tr> HTML; $fhtml = fopen('smiles.html', 'w'); fwrite($fhtml, $html); foreach ($smlist[1] as $smnum => $sm) { $GET = "GET /content_plugins/gallery/gallery.php?smiles.{$sm} HTTP/1.1\r\n"; $page = getpage('www.kolobok.us', $GET.$headers); if ($page === false) print $sm." - Not get!\n"; fwrite($fhtml, "\t<tr>\r\n\t\t<td>".$smlist[2][$smnum]."</td>\r\n\t</tr>\r\n\t<tr>\r\n\t\t<td>"); if (preg_match_all("/\/smiles\/([^\"]*)/", $page, $smiles)) { foreach ($smiles[1] as $smile) { fwrite($fhtml, "<img onclick=\"DoSmiley(this.src);\" src=\"http://www.kolobok.us/smiles/".$smile."\"> "); } } if (preg_match_all("/href=\".*gallery\.php\?smiles\.".$sm."\.(\d+)\"/", $page, $smpages)) { foreach ($smpages[1] as $smpage) { $GET = "GET /content_plugins/gallery/gallery.php?smiles.{$sm}.{$smpage} HTTP/1.1\r\n"; $page = getpage('www.kolobok.us', $GET.$headers); if ($page === false) print $smpage." - Not get!\n"; if (preg_match_all("/\/smiles\/([^\"]*)/", $page, $smiles)) { foreach ($smiles[1] as $smile) { fwrite($fhtml, "<img onclick=\"DoSmiley(this.src);\" src=\"http://www.kolobok.us/smiles/".$smile."\"> "); } } } } fwrite($fhtml, "<td>\r\n\t</tr>\r\n"); } fwrite($fhtml, "</table>\r\n</body>\r\n</html>\r\n"); fclose($fhtml); ?> |
Keepun > 27-04-2009 22:55:32 |
Раз никто не хочет браться... Выделить код Код:<?xml version="1.0"?> <?xml-stylesheet href="chrome://browser/skin/browser.css" type="text/css" ?> <overlay id="myOverlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> <!-- browser type="content" autocompleteenabled="true" src="chrome://emptysidebar/content/smiles.html" / --> <!-- button label="Save" accesskey="S" / --> <!-- chrome://emptysidebar/content/smiles.html --> <iframe src="http://www.google.com" flex="2" id="browserTable" name="table_frame" /> </overlay> Как всеже должен выглядеть код, чтобы страница грузилась? https://developer.mozilla.org/En/Creating_a_Firefox_sidebar - это взял за основу |
Keepun > 30-04-2009 02:12:25 |
Ну объясните: почему <browser> или <iframe> не грузят страницу ??? |
Keepun > 11-05-2009 02:12:00 |
Эх... никто не откликнулся... http://rapidshare.com/files/231504011/Smiley.xpi.html - вот мое первое расширение Не возражаю, если кто-то доведет до финальной стадии P.S. При установке нужно вырубить проверку версии в Лисе (тоже странная проблема) |
Keepun > 11-05-2009 04:07:07 |
http://rapidshare.com/files/231534731/Smiley.xpi.html - саму структуру файлов только подправил |
Anton > 11-05-2009 04:27:42 |
Keepun пишет
Keepun пишет
guid firefox неверный. Должно быть |
Keepun > 11-05-2009 17:38:47 |
Anton, спасибо за помощь Вот вам профиксиная версия: |
=Agasfer= > 11-05-2009 18:01:40 |
Keepun |
Sergeys > 11-05-2009 22:01:14 |
Keepun |
Keepun > 12-05-2009 01:25:32 |
http://forum.mozilla-russia.org/uploaded/Smiley_1.1.xpi - добавил кнопку для открытия панели |
=Agasfer= > 12-05-2009 12:43:03 |
Keepun |
Keepun > 12-05-2009 15:31:43 |
Хм... у меня список расскрывается, если клик на строчке и не зависимо в какой части... Вообще позже дизайн доработаю. https://addons.mozilla.org/ru/firefox/addon/11903 |
=Agasfer= > 12-05-2009 15:48:48 |
Keepun пишет
Возможно это мой персональный баг, но он почему-то у меня на разных профилях и в разных версиях ФФ. |
MySh > 12-05-2009 18:03:39 |
Интересная вещь, однако. |
=Agasfer= > 12-05-2009 18:14:25 |
MySh |
MySh > 12-05-2009 18:38:09 |
68agasfer |
=Agasfer= > 12-05-2009 18:51:27 |
MySh |
Keepun > 12-05-2009 18:55:13 |
А я не понял, что он сделал... Сама загвоздка в type="checkbox" и если кнопка будет на панели AinO Sidebar, то действие будет вполе логичное, но пока не понимаю, как "отжать" на самой панели при сворачивании. 12-05-2009 18:57:08 |
Anton > 13-05-2009 15:37:09 |
Keepun пишет
Кнопке надо добавить атрибут
И ещё, возможно стоит сменить "yourdomain" в id расширения ? |
MySh > 13-05-2009 18:13:57 |
Хорошо бы добавить тэгам row для заголовков и картинок разные идентификаторы или классы, чтобы было проще Stylish'ем внешний вид перекраивать |
Keepun > 16-05-2009 03:34:28 |
Версия 1.2.1: Anton пишет
Я не прочь, но Мозилла не дает сменить GUID |
MySh > 18-05-2009 14:26:37 |
Keepun
Спасибо. Вот теперь можно попробовать заняться украшательством |
Keepun > 18-05-2009 19:04:24 |
Версия 1.2.2: https://addons.mozilla.org/ru/firefox/addon/11903 |
Duble3 > 19-05-2009 00:25:40 |
Keepun |
Keepun > 19-05-2009 01:31:01 |
Duble3, проверил на 3.5б4 - пашет Duble3 пишет
"Смайлики " |
MySh > 19-05-2009 13:31:35 |
Duble3 |
Duble3 > 19-05-2009 19:25:46 |
Keepun пишет
А у меня не хочет. Возможно, конфликт с чем-то. Keepun пишет
У меня там только то, что идёт по дефолту - закладки и журнал. До обновления были и смайлики. |
alex_past > 19-05-2009 20:54:47 |
А если не секрет, для чего это всё? |
Keepun > 19-05-2009 21:19:41 |
alex_past пишет
Для меня alex_past пишет
На сайте расширений Лисы его не видно... Ну, не хочь - не юзай... мне мой удобнее |
alex_past > 19-05-2009 22:31:37 |
Keepun: нет, прошу прощения, если это по-хамски прозвучало. Я только "за" |
Duble3 > 19-05-2009 22:41:40 |
Странная, однако, штука - решил обновить 3.6a1pre ru (обычно использую нелокализованные ночнушки), открываю и ... SmileySidebar прекрасно отображается. Решил проверить остальные профили, в которых он установлен - везде виден! Проверил локализованные 3.5b4 и 3.5b5pre - всё O'K! В нелокализованных - не отображается. Интересно - это мой персональный глюк? |
Keepun > 19-05-2009 23:05:13 |
alex_past пишет
http://www.msnhiddenemoticons.com/ - здесь мало? alex_past пишет
ИМХО, это мало кому нужно... зря только Лису нагружать, которая и так 200мб оперативы сжирает. |
alex_past > 19-05-2009 23:15:58 |
Keepun пишет
Может, ты и прав. Но, имхо, смайлики - это кучеряшки, а любители кучеряшек и ценят в основном их за необычность - чтоб не как у всех было.
Фигу. Это мелкомягкий осёл сжирает - иначе у него все глюки не помещаются, приходится половину глюков в своп сбрасывать. А лиса кушает. С пользой для дела. |
MySh > 22-05-2009 13:45:21 |
Идея насчёт возможности добавлять свои смайлики здравая. Необязательно выдирать все изображения со страницы, но вот возможность завести собственную вкладку, куда можно добавлять свои смайлики (и не только их) путём активации соответствующего инструмента и щелчка по понравившейся картинке, очень бы не помешала. |
Крошка Ру > 24-05-2009 18:05:57 |
вот это расширение > EmotiConverter кажется позволяет делать что то подобное....и не только со смайликами |
ryvstar > 09-06-2009 18:46:14 |
Всем привет Вот мой файл манифеста, я его делал по типу speeddial Вот мой xul файл , он конечно только начат, но смайлик уже не хочет отображаться. Также учитывайте что он анимированный, может в этом загвоздка. |
Тайлер > 09-06-2009 20:22:58 |
Это гениально! Keepun, подскажите, пожалуйста, можно ли изменить под себя набор смайлов? Спрашиваю, потому что я в этом не просто полный ноль, а ноль по Кельвину. |
Keepun > 09-06-2009 21:21:51 |
Тайлер, в файле "c:\Documents and Settings\{USER}\Application Data\Mozilla\Firefox\Profiles\{PROF}\extensions\smileys@yourdomain.com\chrome\content\smileypage.xul" все хранится. Если заменить адреса на свои, то Лис будет их вставлять. Достаточно соблюдать аналогию кода. Файл свой сохранить в другое место тоже не забывайте, а то он затрется при обновлении. |
Тайлер > 09-06-2009 21:58:15 |
Keepun, спасибо |
V.K.L > 01-11-2009 23:42:15 |
Скажите а можно ли как то поселить у себя на винте все смайлики, чтоб постаянно не ждать пока загрузится, инет слабоват бывает, и можно ли что то самому добавлять?
|
Крошка Ру > 02-11-2009 00:16:31 |
V.K.L чтобы добавить изображение на веб-станицу оно обязательно должно быть предварительно загруженно в интернет |