andreyefgs

Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору FEATURE REQUEST Abs62 (Протокол http) Хотелось бы, чтобы у юзера была возможность подготавливать онлайн-контент перед выводом данных в окне оболочки. Сейчас веб-страницы (http) грузятся целиком вместе с файлами (скрипты, css, картинки...), скрипты работают. Использовать таким образом (без фильтрации и парсинга) онлайн-реcурсы с GD в большинстве случаев невозможно. Слишком много мусора, часто у страниц негодный формат (структура) для вывода их в окне GD, иногда веб-сайты оказывают влияние на отображение обычных словарей. Вот пример: http://ordnet.dk/ddo/ordbog?query=%GDWORD% (без "As Link") Помимо ordnet.dk подключен еще обычный словарь "Nudansk Ordbog" в формате StarDict После загрузки ordnet.dk у "Nudansk Ordbog" размер шрифта становится мелким и нечитабельным. Каждая загрузка страницы с ordnet.dk сопровождается появлением диалога с вопросом про cookies (согласен или нет). Выбор не сохраняется, поэтому этот диалог появляется каждый раз. Страница из ordnet.dk содержит много лишнего и ненужного контента. Из всего что там есть нужна только небольшая фракция. Если посмотреть в инспекторе DOM, то он загажен капитально, сверху донизу, хотя вроде бы данные с сайта должны присутствовать только между тегами <div class="website"></div>, но может так и должно быть, не знаю. _______________________________ С галкой в колонке "As Link" этот сайт не грузится Ошибка: Код: Refused to display 'http://ordnet.dk/ddo/ordbog?query=ogs%C3%A5' in a frame because it set 'X-Frame-Options' to 'SAMEORIGIN'. | https://en.wikipedia.org/wiki/Same-origin_policy И кстати, эксперименты с другими сайтами показали, что похоже фича с загрузкой веб-страниц в iframe не работает с QT5. _______________________________ Я придумал что-то вроде технологии, которая позволяет подготавливать контент перед выводом Можно посмотреть здесь Скриншот: Быстро, чисто, разницы по сравнению с использованием обычных словарей никакой. Но у этого способа есть по крайней мере один существенный недостаток - нужен костыль. Это либо node.js скрипт находящийся постоянно в памяти или наличие Lamp/Wamp сервера (если использовать php скрипт). Но хотелось бы чтобы эту задачу (подготовку контента) можно было делать средствами GD. _______________________________ Моё предложение по реализации запрашиваемой фичи такое: 1)Если в настройках GD в разделе Websites имеется ссылка с протоколом file:/// и которая тычет на локальный JSON файл валидного формата. Валидный формат (пример): Код: { "site" : "http://ordnet.dk/ddo/ordbog?query=%GDWORD%", "parser" : "file:///path/to/goldendict/websites/ordbog.html" } | То GD сначала загружает страницу по ссылке из значения свойства site, загружает в переменную (просто html, без файлов) Я предлагаю использовать объект window, а в качестве свойства использовать индекс Пример: window["39901c8032500b170c9ff7933cfcf9e2"] = '<html>...</html>'; 2)После загрузки http-страницы GD должен загрузить парсер, обычную локальную веб-страницу, обычным способом (ссылка в значении свойства parser). Но индекс этой страницы должен совпадать с индексом который использовался в объекте window (в качестве свойства) После этого javascript веб-станицы (парсера) может подготовить загруженный в переменную контент и вывести его в окне GD ЗЫ Допускаю, что моё предложение по реализации крайне неудачное, но я не знаю устройство GD, исходники не изучал, как наилучшим образом можно было бы реализовать эту фичу не знаю. |