Форумы Форум www.proxomitron.ru
Все о программе Proxomitron
Главная  • FAQ для форума  •  Поиск  •  Пользователи  •  Группы   •  Регистрация  •  Профиль  •  Личные сообщения  •  Вход
 Фикс атрибута target ссылок в iframe-е гугло-поиска
 Сайт -> Форумы » Фильтры
Следующая тема
Предыдущая тема

Новая тема  Ответить
Автор Сообщение
Ciber SLasH
Member
Member


Зарегистрирован: 07.11.2005
Сообщения: 70
Откуда: Россия::Питер

СообщениеДобавлено: Чт, Июл 25 2013 22:54 Цитировать |  |  | 

Приветствую всех!
Есть такая задача: заменить target="_top" на target="_blank" у ссылок, генерируемых в iframe-е поиска гугла по сайту.
Изменить нужно ссылки в поиске на форуме forum.oszone.net
Там поиск реализован через гугл.
Пытался делать такой фильтр:
Код:
[Patterns]
Name = "forum.oszone.net (searchFix)"
Active = TRUE
Multi = TRUE
URL = "(www|)google.com/*siteurl=forum.oszone.net*"
Bounds = "$NEST(<div class="gsc-results gsc-webResult", </div>)"
Limit = 32767
Match = "\1target="_top" \2"
Replace = "\1target="_blank" \2"

но он не работает. Менял URL на forum.oszone.net/search* - тоже не работает.

Подскажите пожалуйста, в чём ошибка?
К началу Профиль Сообщение
Alex Qwerty
Gold Member
Gold Member


Зарегистрирован: 20.07.2007
Сообщения: 204

СообщениеДобавлено: Чт, Июл 25 2013 23:01 Цитировать |  |  | 

Ciber SLasH писал(а):
Limit = 32767[/code]

Многовато >:->

А если так?
Код:
Match = "target="_top""
Replace = "target="_blank""
К началу Профиль Сообщение
Ciber SLasH
Member
Member


Зарегистрирован: 07.11.2005
Сообщения: 70
Откуда: Россия::Питер

СообщениеДобавлено: Чт, Июл 25 2013 23:22 Цитировать |  |  | 

Поставил лимит 512.
Цитата:
Match = "target="_top""
Replace = "target="_blank""

Так тоже не работает
К началу Профиль Сообщение
chAlx
Moderator
Moderator


Зарегистрирован: 30.06.2004
Сообщения: 2621
Откуда: SPb

СообщениеДобавлено: Сб, Июл 27 2013 00:55 Цитировать |  |  | 

Что, клик колесом или Ctrl-клик уже не подходят? Опять с IE проблемы? ;)

Вообще, Гугол по-возможности рисует результаты поиска скриптом:
customSearchControl.execute("zzz");
Причём этот скрипт ещё и подменяет при клике нормальную ссылку на гугловский говнотрекинг. Т.о. HTML там отфильтровать не получится: на момент загрузки страницы он ещё не сгенерён. Так что тут даже Kill new window anchors* не влияет.

Есть похожая тема, в т.ч. со скриптовыми решениями.
Хотя можно и гугловский скрипт подправить, заменив фрагмент A.uw="_top" (но не знаю, будет ли это работать после подстановки трекинг-урла).
К началу Профиль Сообщение
Ciber SLasH
Member
Member


Зарегистрирован: 07.11.2005
Сообщения: 70
Откуда: Россия::Питер

СообщениеДобавлено: Сб, Июл 27 2013 23:28 Цитировать |  |  | 

На ноуте без мышки приходится зажимать Ctrl.
Затея не удалась, скриптом не добраться до документа, загруженного в iframe - политика браузера запрещает крос-доменные модификации.
А заменять _top тоже не вариант - гуглло-скрипты большие, а выставление большого лимита очень сильно сказывается на загрузку страницы.
К началу Профиль Сообщение
chAlx
Moderator
Moderator


Зарегистрирован: 30.06.2004
Сообщения: 2621
Откуда: SPb

СообщениеДобавлено: Вс, Июл 28 2013 23:42 Цитировать |  |  | 

Ciber SLasH писал(а):
Затея не удалась, скриптом не добраться до документа, загруженного в iframe

Так Проксом можно скрипт к любому урлу прицепить, в т.ч. и к тому, который внутри фрейма.

Цитата:
А заменять _top тоже не вариант - гуглло-скрипты большие, а выставление большого лимита очень сильно сказывается на загрузку страницы.

Чтобы заменить A.uw="_top", достаточно лимита в 11 байт. А чтобы нигде при этом не накосячить, надо в URL Match указывать только нужный скрипт с поиском конкретного сайта:
www.google.com/uds/api/search/1.0/cf717ce13f86fb2ebeed8f0046aba6ef/default+ru.I.js
К началу Профиль Сообщение
Ciber SLasH
Member
Member


Зарегистрирован: 07.11.2005
Сообщения: 70
Откуда: Россия::Питер

СообщениеДобавлено: Пн, Июл 29 2013 07:22 Цитировать |  |  | 

chAlx
Цитата:
Так Проксом можно скрипт к любому урлу прицепить, в т.ч. и к тому, который внутри фрейма.

Там iframe генерируется JS-скриптом.
Код:
[Patterns]
Name = "forum.oszone.net (fixSearch)"
Active = TRUE
URL = "www.google.com/uds/api/search/1.0/cf717ce13f86fb2ebeed8f0046aba6ef/default+ru.I.js"
Limit = 256
Match = "A.uw="_top""
Replace = "A.uw="_blank""

так не работает
К началу Профиль Сообщение
chAlx
Moderator
Moderator


Зарегистрирован: 30.06.2004
Сообщения: 2621
Откуда: SPb

СообщениеДобавлено: Пн, Июл 29 2013 23:16 Цитировать |  |  | 

Плюс-то служебный символ:
Код:
Name = "forum.oszone.net (fixSearch)"
Active = TRUE
URL = "www.google.com/uds/api/search/1.0/cf717ce13f86fb2ebeed8f0046aba6ef/default\+ru.I.js"
Limit = 16
Match = "A.uw="_top""
Replace = "A.uw="_blank""
К началу Профиль Сообщение
Ciber SLasH
Member
Member


Зарегистрирован: 07.11.2005
Сообщения: 70
Откуда: Россия::Питер

СообщениеДобавлено: Вт, Июл 30 2013 08:13 Цитировать |  |  | 

chAlx ,
Благодарю, работает! Smile
К началу Профиль Сообщение
Показать сообщения:      
 
Новая тема  Ответить

 Перейти:   




Следующая тема
Предыдущая тема
Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


P o w e r e d b y p h p B B © p h p B B G r o u p :: T h e m e b a s e d o n FI T h e m e :: Часовой пояс: GMT + 3