Всем привет.
Недавно придумал способ отображать только словарную статью (без рекламы, строки поиска и прочей чешуи) при переводе в GD, но столнулся с некоторыми проблемами.
==== Сначала описание метода (на примере для Fr-En-Fr словаря на http://www.wordreference.com):
Словарную статью отображаем через локальный html файл, то есть вместо
http://www.wordreference.com/fren/%GDWORD%
используем
file:///home/me/.goldendict/wordreference.com.fr-en-fr/wd.html?dir=fren&word=%GDWORD%
Результат виден на приложенном скриншоте
Для сравнения также прикрепил, как оно отображается без обрезания
Локальный файл wd.html работает как модифицирующий прокси: js скрипт с помощью ajax/yql (используется jquery, yql нужен для cross site scripting) подгружает содержимое страницы http://www.wordreference.com/fren/%GDWORD% и обрезает ненужные элементы. В браузере (ie/ff/chrome) - работает нормально, кроме wordreference.com ещё эксперементировал на multitran.ru.
Содержимое /home/me/.goldendict/wordreference.com.fr-en-fr прикрепил в архиве . Для галочки: это только для ознакомления/личного пользования, контент wordreference.com скорее всего защищён АП. Стоит заметить, что владельцы сайты легко могут отрубить этот метод, если захотят - так что коммерческое использование вряд ли возможно, даже если вдруг окажется, что оно законно.
===== Теперь описание проблем.
Сразу оговорюсь, что ниже обсуждаемые проблемы проявляются только в окне GD, в браузерах проблем нет.
1. GD отображает статью через раз, то есть иногда вместо статьи - пустое место. Вероятно это связано с тем, что GD не дожидается отработки JS скрипта, который перерисовывает страницу. Приходится выключать/включать иконку словаря несколько раз.
2. Если статья отображается, то в её конец добавляется пустое место по размерам раза в 3-4 больше самой статьи, которое сдвигает словарные статьи из других словарей.
Поведение одинаковое в винде (сборку не помню) и линуксе (1.0.2~git20110314-1).
===== Чего хочу:
1. Помощи в решении проблем (я не програмист, сам скрипт наваял методом копипаста из различных источников) - поэтому самому искать проблему в недрах кода GD/Qt представляется плохим вариантом.
2. Советов в улучшении.
Спасибо.