hababr
Junior Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Я добавил новую фичу в фильтр [Extension], теперь можно использовать iframe. Полезно для Ютуба и любых сайтов которые могут свой контент встраивать в другие сайты через iframe. Код: Подробнее... С этим фильтром видео на Авито с Ютуба теперь работает, можно проверить на ссылках в этом посте Далее, новый фильтр для YouTube. Использует возможность вставлять iframe, теперь вместо третьего маленького видео показываем iframe со всеми органами управления Ютуба, все установленные плагины для Ютуба там так же работают (например Sponsor Block). Еще изменил логику так, что при невозможности получить информацию о видео (это например в Хроме если ссылка на Ютуб с другого сайта), то показываем просто один iframe, теперь наконец то ссылки на Ютуб работают везде. Еще из плюсов то, что в ифрейме показывается также и не оконченная трансляция. Размер фрейма пытаемся сделать побольше, но так чтобы влазил в окно. С ифреймами есть сложность в том, что они перехватывают мышь и клавиатуру, так что в режиме Full Zoom добавил кнопку вверху экрана (желтая полупрозрачная), при клике переключаем мышь с ифрейма на страницу и обратно, чтобы можно было при большом зуме двигать изображение как с обычной картинкой. Может непонятно объясняю, надо просто попробовать. Фильтр: Подробнее... Добавлено: Два новых фильтра Google_Drive и Google_Drive_video вместо GOOGLE_Drive_images: Код: {"Google_Drive_video":{"link":"^drive\\.google\\.com/get_video_info\\?docid=[\\w-]+","res":":\ndebugger;\nconst data = $._.split('&').map(p => p.split('='));\nlet title = decodeURIComponent(data.find(p => p[0] === 'title')[1]);\nlet url = decodeURIComponent(data.find(p => p[0] === 'fmt_stream_map')[1]);\nurl = url.split(',').pop().split('|')[1];\n\nreturn url + '#mp4';\n\nthis.TRG.IMGS_ext_data = [['', `<imagus-extension type=\"videojs\" url=\"${url}\"></imagus-extension>${title}`]];\nreturn { loop: 'imagus://extension' };\n"},"Google_Drive":{"link":"^drive\\.google\\.com/(?:file/(?:u/\\d/)?d/|uc\\?.*id=)([\\w-]{33})(/|&|$).*","ci":1,"url":"https://drive.google.com/file/d/$1/view","res":":\ndebugger;\nlet [type, ext] = JSON.parse($._.match(/_docs_flag_initialData=({.+?});/)[1])['docs-dm'].split('/');\n\nif (type === 'video') {\n return { loop: `https://drive.google.com/get_video_info?docid=${$[1]}` };\n}\n\nif (type === 'image' || type === 'audio') {\n return `https://drive.google.com/uc?id=${$[1]}&export=download#` + (type == 'audio' ? 'mp3' : ext);\n} else {\n const title = $._.match(/<title>(.+)<\\/title>/)?.[1] || '';\n let eUrl = $._.match(/<meta itemprop=\"embedURL\" content=\"(.+?)\"/)?.[1];\n if (!eUrl) {\n if (ext == 'x-zip-compressed' || ext == 'octet-stream') {\n eUrl = `https://drive.google.com/file/d/${$[1]}/preview`;\n } else {\n eUrl = `https://drive.google.com/uc?id=${$[1]}`;\n }\n }\n\n this.TRG.IMGS_ext_data = [['', `<imagus-extension type=\"iframe\" url=\"${eUrl}\"></imagus-extension>${title}`]];\n return { loop: 'imagus://extension' };\n}"}} | Новые фильтры показывают почти все типы файлов для которых есть предпросмотр на самом сайте GDrive, для показа не фото/видео/аудио используются возможности нового [Extension] с iframe. Если что-то не работает - поделитесь ссылкой, проверять можно тут - https://www.reddit.com/domain/drive.google.com/top/ Например вот случайные ссылки: PDF / ZIP / MKV Video / MP4 Video / MP3 Audio / M4A Audio / PNG IMAGE Все изменения применил поверх фильтров из последней версии сборки. | Всего записей: 129 | Зарегистр. 21-07-2014 | Отправлено: 23:07 15-10-2023 | Исправлено: hababr, 11:14 16-10-2023 |
|