Ищу расширение для Google Chrome, которое бы вырезало часть html-кода страниц по определенному шаблону. Пытался написать фильтр для AdBlock, но максимум, что там можно сделать - указать определенный тег и и его атрибуты. В моем случае этого недостаточно, так как из нескольких повторяющихся элементов некоторые нужно оставить, а некоторые - спрятать. К примеру, мне нужно скрыть все ответы конкретного пользователя на этом форуме, а другие оставить. Не стоит говорить мне про игнор-лист. Форум - всего лишь пример. Плагин должен работать с любыми сайтами на любых движках. Итак, каждый ответ в теме - это вот такой кусок кода:
1
<li class="postbitlegacy postbitim postcontainer" id="post_397592"><table cellpadding="0" cellspacing="0"> <tr class="posthead"> <td class="w178 old"> </td> <td class="nodecontrols"><div class="postdate"> <span class="date">Сегодня <span class="time">14:59</span></span></div><div class="nr"> <a rel="nofollow" name="post397592" href="http://webmasters.ru/forum/f14/rzhu-ni-magu-%3D-kak-pravil%60no-prodavat%60-plat%60e-38776/index2.html#post397592" class="postcounter">#78</a><a id="postcount397592" name="78"></a></div><div class="links"></div></td> </tr> <tr class="postdetails"> <td class="userinfo"><div class="userinfo_inner"><div class="username_container"> <img class="inlineimg onlinestatus" src="http://webmasters.ru/forum/images/wm/statusicon/user-online.png" alt="Webrumors на форуме" border="0" /><div class="popupmenu memberaction"> <a rel="nofollow" class="username online popupctrl" href="http://webmasters.ru/forum/member.php?u=7132" title="Webrumors на форуме"><strong>Webrumors</strong></a><ul class="popupbody popuphover memberaction_body"> <li class="left"> <a rel="nofollow" href="http://webmasters.ru/forum/member.php?u=7132" class="siteicon_profile"> Просмотр профиля </a> </li> <li class="right"> <a href="http://webmasters.ru/forum/search.php?do=finduser&userid=7132&contenttype=vBForum_Post&showposts=1" class="siteicon_forum" rel="nofollow"> Сообщения форума </a> </li> <li class="left"> <a href="http://webmasters.ru/forum/private.php?do=newpm&u=7132" class="siteicon_message" rel="nofollow"> Личное сообщение </a> </li> <li class="right"> <a href="http://webmasters.ru/blogs/webrumors/" class="siteicon_blog" rel="nofollow"> Записи в дневнике </a> </li> <li class="right"> <a href="http://webmasters.ru/news/authors/webrumors-7132/" class="siteicon_article" rel="nofollow"> Просмотр статей </a> </li></ul></div></div><span class="usertitle"> Опытный </span><ul class="userinfo_extra"> <li>Регистрация: <span>08.11.2010</span></li> <li>Сообщений: <span>344</span></li> <li>Сделки <span><a rel="nofollow" title="Отзывов" href="http://webmasters.ru/forum/itrader.php?u=7132">0</a></span></li></ul><ul class="user_rep"> <li>Нарушения: <span>0/1 (10)<span></li> <li>Репутация: 57</li></ul><div class="imlinks"></div></div> </td> <td class="postbody"><div class="postbody_inner"><div class="postrow"><div class="content"><div id="post_message_397592"> <blockquote class="postcontent restore "><div class="bbcode_container"><div class="bbcode_quote" style="border-radius: 10px;"><div class="quote_container"><div class="bbcode_quote_container"></div><div class="bbcode_postedby"> <img src="http://webmasters.ru/forum/images/wm/misc/quote_icon.png" alt="Цитата" /> Сообщение от <strong>evilmolen</strong> <a href="http://webmasters.ru/forum/f14/rzhu-ni-magu-%3D-kak-pravil%60no-prodavat%60-plat%60e-38776-post396030/#post396030" rel="nofollow"><img class="inlineimg" src="http://webmasters.ru/forum/images/wm/buttons/viewpost-right.png" alt="Посмотреть сообщение" /></a></div><div class="message">Что-то похожее проскакивало в интернетах за последние 6 месяцев, просто очередной способ привлечь внимание.</div></div></div></div> Реклама Билайна? </blockquote></div></div></div></div> </td> </tr> <tr> <td colspan="2"><div class="postbuttons"><ul> <li><a rel="nofollow" class="editpost" href="http://webmasters.ru/forum/editpost.php?p=397592&do=editpost" name="vB::QuickEdit::397592"><img src="http://webmasters.ru/forum/clear.gif" id="editimg_397592" alt="Редактировать/удалить" />Редактировать</a></li> <li><a id="qr_397592" class='quickreply' href="http://webmasters.ru/forum/newreply.php?do=newreply&p=397592" rel="nofollow">Ответ</a></li> <li><a class="multiquote" href="http://webmasters.ru/forum/newreply.php?do=newreply&p=397592" rel="nofollow" onclick="return false;" id="mq_397592">Цитата</a></li> <li><a class="report" href="http://webmasters.ru/forum/report.php?p=397592" rel="nofollow" title="Пожаловаться на это сообщение">Пожаловаться на это сообщение</a></li> <li id="gmab_rep_397592" class="helpfulanswers"> <span class="h_rank" style="cursorointer;">0</span> </li> <li style="display:none" id="progress_397592"> <img src="http://webmasters.ru/forum/images/wm/misc/progress.gif" alt="" /> </li></ul></div> <img style="display:none;" id="replyimg_397592" src="http://webmasters.ru/forum/clear.gif" alt="Быстрый ответ на это сообщение"/> <img style="display:none;" id="quoteimg_397592" src="http://webmasters.ru/forum/clear.gif" alt="Ответить с цитированием"/> <img style="display:none;" id="mq_image_397592" src="http://webmasters.ru/forum/clear.gif" alt="Мультицитирование этого сообщения"/> <span id="post_username_reply_397592" style="display:none;">Webrumors</span> </td> </tr> <tr class="thanks_block_li" id="post_thanks_box_397592" style="display:none"> <td colspan="2" id="post_thanks_box_td_397592"> </td> </tr></table></li>
[свернуть]
То есть нужно, чтобы скрытие элемента происходило не только по тегам <li class="postbitlegacy postbitim postcontainer" id="post_396157"></li>, но и по нику пользователя, который встречается в данном случае аж несколько раз (хотя достаточно одного).
- 18.01.2013 15:22Опытный


- Регистрация: 08.11.2010
- Сообщений: 370
- Репутация: 60
- 18.01.2013 15:48
Для удобства можно в Google Chrome расширение подключить jQuery и делать со страницами все что угодно. А насчет всех сайтов и движков, в любом случае структуры html на разных движках/сайтах - разные, и их надо будет заранее обработать.
Спасибо сказали:
Webrumors(18.01.2013), - 18.01.2013 17:33Опытный


- Регистрация: 08.11.2010
- Сообщений: 370
- Репутация: 60
Каким образом, можете подробнее рассказать? Я не очень представляю, что это и как работает.
---------- Сообщение добавлено 17:33 ---------- Предыдущее 17:32 ----------
Так это понятно, что надо составлять что-то типа регулярного выражения для каждого сайта. Но меня это не напрягает, так как мне не нужно, чтобы плагин что-то автоматически распознавал без моего указания. Я еще в первом посте сказал, что пользовался бы плагином AdBlock, но он в данном примере блокировал бы все сообщения, а не определенного пользователя. - 18.01.2013 17:45
Webrumors, пришлите пожалуйста в ПМ линк на сайт для теста, попробую помочь сегодня вечером или в воскресенье.
Спасибо сказали:
Webrumors(18.01.2013), - 18.01.2013 18:08Опытный


- Регистрация: 08.11.2010
- Сообщений: 370
- Репутация: 60
lazypanther, так а что присылать? Я уже привел в качестве примера данный форум. Т.е. мне нужен некий плагин, который бы скрывал, допустим, определенные куски кода по определенным признакам. Например, при указании
Код:фильтровались бы мои сообщения. Проблема прежде всего не в составлении регулярного выражения, а в инструменте, который позволял бы решать задачу. Понятно, что можно заказать. Но ведь должно быть что-то готовое.<li class="postbitlegacy postbitim postcontainer" id="post_396157">...Webrumors...</li>
- 18.01.2013 18:14
Webrumors, не заметил, что код от этого форума
Саму идею понял, на счет готового не знаю, но попытаюсь переписать свой под Ваши требования. Время когда возьмусь за решение указал в предыдущем посте
Спасибо сказали:
Webrumors(18.01.2013), - 18.01.2013 18:14
Webrumors, приведу простой пример с чего начать строить Google Chrome приложение.
- Создаем главный файл - manifest.json
PHP код:{
"name": "Delete some comments",
"version": "1.7",
"description": "Delete some comments from other sites",
"manifest_version": 2,
"content_scripts": [ {
"exclude_globs": [ ],
"include_globs": [ "*" ],
"js": [ "js/script.user.js" ], //Здесь подключаем файл в котором будем кодить javascript-ом
"matches": [
"http://site.ru/*" //Указываем для какого сайта будет срабатывать скрипт, * - для всех
],
"run_at": "document_end" //По какому событию страницы запускать скрипт
} ],
"converted_from_user_script": true,
"icons": {
"128": "img/picture.png"
},
"homepage_url" : "http://homepage.com"
}
- Создаем файл javascript - js/script.user.js
PHP код:/*! jQuery v1.8.3 jquery.com | jquery.org/license */
// Сюда копируем строку с файла http://code.jquery.com/jquery-latest.min.js
// И погнали чюдить )
$(document).ready(function() {
alert('Hello');
});
Ну я привел небольшой пример из своих поделок, можете детальней почитать про manifest расширений Google Chrome там есть несколько ньюансов, например если делать кросс-доменные запросы из расширений и т.д.Спасибо сказали:
Webrumors(18.01.2013), - Создаем главный файл - manifest.json
- 18.01.2013 18:42Опытный


- Регистрация: 08.11.2010
- Сообщений: 370
- Репутация: 60
Только в данном примере я зря оставил id="post_396157 Его там не должно быть, иначе вырезался бы 1 пост.
---------- Сообщение добавлено 18:42 ---------- Предыдущее 18:41 ----------
Спасибо, конечно, только я вообще ни разу не программист и ничего кроме html не знаю. Иначе бы давно сам написал. - 29.01.2013 13:22Опытный


- Регистрация: 08.11.2010
- Сообщений: 370
- Репутация: 60
Тэги топика:
Похожие темы
| Темы | Раздел | Ответов | Последний пост |
|---|---|---|---|
Chrome расширение, как отправить данные? | Web программирование | 1 | 10.11.2012 13:25 |
Стата сайтов от Li.ru (Расширение для Chrome) | Вопросы от новичков | 10 | 12.06.2012 03:38 |
Расширение аддурилка для Google Chrome | Софт, скрипты, сервисы | 5 | 26.02.2011 18:09 |
Cash Stats расширение для Google Chrome | Реклама партнерских программ | 0 | 22.04.2010 11:54 |

ointer;">0</span> </li> <li style="display:none" id="progress_397592"> <img src="http://webmasters.ru/forum/images/wm/misc/progress.gif" alt="" /> </li></ul></div> <img style="display:none;" id="replyimg_397592" src="http://webmasters.ru/forum/clear.gif" alt="Быстрый ответ на это сообщение"/> <img style="display:none;" id="quoteimg_397592" src="http://webmasters.ru/forum/clear.gif" alt="Ответить с цитированием"/> <img style="display:none;" id="mq_image_397592" src="http://webmasters.ru/forum/clear.gif" alt="Мультицитирование этого сообщения"/> <span id="post_username_reply_397592" style="display:none;">Webrumors</span> </td> </tr> <tr class="thanks_block_li" id="post_thanks_box_397592" style="display:none"> <td colspan="2" id="post_thanks_box_td_397592"> </td> </tr></table></li>



