Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » Imagus (Часть 2)

Модерирует : gyra, Maz

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132

Открыть новую тему     Написать ответ в эту тему

Maz



Дед Мазай
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Предыдущие темы: Часть 1

Автор - Deathamns [snmahtaeD] | Сообщество на Reddit
СКАЧАТЬ IMAGUS | СТРАНИЦА НА РУССКОМ Rodny (первый автор данной темы)


Всего записей: 38816 | Зарегистр. 26-02-2002 | Отправлено: 23:06 05-12-2021 | Исправлено: kenko2, 13:48 15-04-2024
64h



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Да, похоже, мы о разном говорили.
 
И ещё я не учёл важный нюанс, когда редактировал фильтр R_IMDb.

Цитата:
Там сбоку кнопка 99+ photos. Наведи на нее курсор и получишь альбом из первых 48 скринов.

Здесь начал срабатывать R_IMDb вместо R_IMDb_photo. Исправил:

Код:
{"R_IMDb_fix":{"useimg":1,"link":"^(?:m\\.)?imdb\\.com/title/tt\\d+(?:/\\?\\S*|/)?$","loop":1,"res":"=\"og:image\" content=\"([^\"]+)\n=\"og:description\" content=\"([^\"]+)","img":"^((?:(?:images\\.|(?:images-[a-z]{2}\\.ssl-|(?![gz]-)[^.?]+\\.)images-)amazon|ia\\.media-imdb|m\\.media-amazon)\\.com/images/[^/]/[^.]+(?:(?!\\.[A-Za-z]{3,4}$)\\.[^A-Z_.]+)*)(?:$|(?!_(?:CB|V)\\d{4,}_\\.)[^?]*\\.([^?]*).*)","to":":\nvar x=$[2]||'#jpg png#'\nreturn '#' + $[1] + '.' + x +'\\n'+$[1] + '._SY1024_SX1024_.'+x"}}

Всего записей: 668 | Зарегистр. 06-09-2002 | Отправлено: 23:28 30-09-2022
kenko2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
64h
Теперь все работает, в т.ч. и внешние ссылки, спасибо!

Всего записей: 3776 | Зарегистр. 10-11-2005 | Отправлено: 12:06 01-10-2022
kenko2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
!!! - ОБНОВЛЕНИЕ ФИЛЬТРОВ:
 
 
НОВЫЕ
=======
R_communities.win
(Baton34V)
R_Hearst(Cosmo|Delish|DigitalSpy|Elle|Esquire|HarpersBazaar|MensHealth)
(64h)
R_Allanal|Analonly|Nympho|Swallowed|Trueanal_trailers
(gpl2731)
 
 
ЗАМЕНА
========
R_ag.ru
R_Bunkr.is_video
R_clip.dubz.co > R_Dubz.co
R_Cloud.Mail.ru
R_Epicentrk.ua
R_EtoRetro.ru
R_FantLab.ru
R_GloryholeSwallow.com
R_iFixit.com
R_iMGSRC.ru
R_loc.gov_pictures
R_lpi.usra.edu
R_NaughtyAmerica.com
R_OK.ru_album
R_Parovoz.com
R_PBase.com
R_puretaboo|roccosiffredi|girlsway|hardx|darkx > R_Gamma_Entertainment
R_Rozetka.com.ua
R_Screencast.com
R_SoftoRoom.net
R_Thingiverse.com
O_orsm.net_images
ebay > R_eBay
erome.com > R_EroMe.com
justjared.com > R_JustJared.com
twogag.com > R_twogag.com

(gpl2731)
R_Discogs.com > R_Discogs
R_Discogs.com_images > R_Discogs_2
R_Discogs.com_release > R_Discogs_3

(Baton34V)
explosm.net > O_Explosm.net
gamespot.com > O_GameSpot_video
gamespot.com_gamefaqs > O_GameFAQs.com

(borderpeeved)
R_IMDb
R_Yandex_Images_MMG+RIM > R_Yandex_Images_Sideblocks

(64h)
 
 
УДАЛЕНО
=========
R_Fix-Price.ru
 
 
СКАЧАТЬ
========
bunkr.is | upload.ee

Всего записей: 3776 | Зарегистр. 10-11-2005 | Отправлено: 15:59 01-10-2022 | Исправлено: kenko2, 16:00 01-10-2022
64h



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В этот раз обновление прямо рекордное
 
kenko2, спасибо, что занимаешься проектом! Делаешь большое дело!
 
Кстати, вчера появилась новость, что Google откладывает прекращение поддержки второй версии манифеста на год: https://opennet.ru/opennews/art.shtml?num=57850

Всего записей: 668 | Зарегистр. 06-09-2002 | Отправлено: 17:06 01-10-2022
kenko2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
64h

Цитата:
В этот раз обновление прямо рекордное

Все благодарности gpl2731 - он нам помог штук 20-30 фильтров починить из "неисправных".
 

Цитата:
Кстати, вчера появилась новость, что Google откладывает прекращение поддержки второй версии манифеста на год: https://opennet.ru/opennews/art.shtml?num=57850

Приятная новость

Всего записей: 3776 | Зарегистр. 10-11-2005 | Отправлено: 17:27 01-10-2022
64h



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
{"R_Wildberries.ru":{"link":"^wildberries\\.ru/catalog/(\\d+)/(detail\\.aspx|feedbacks)(\\S+)?","url":"data:,none?$1$2$3","res":":\nvar r = [];\nconst x = new XMLHttpRequest();\n\nx.open('GET', 'https://wbx-content-v2.wbstatic.net/ru/' + $[1] + '.json', false);\nx.send();\nconst info = JSON.parse(x.responseText);\n\n// fetch item photos\n// skip when triggered by feedback links or elements\nif ($[2] == 'detail.aspx' && !$[3]?.includes('#Comments') && !this.TRG.className.includes('product-card__rating') && !this.TRG.className.includes('product-card__count')) {\n    const folder = 1e4 * Math.floor(info.nm_id / 1e4);\n    if (info.media.has_video) {\n        r.push([`https://video.wbstatic.net/video/new/${folder}/${info.nm_id}.mp4`, info.imt_name]);\n    }\n\n    for (var i = 1; i <= info.media.photo_count; i++) {\n        r.push([`https://images.wbstatic.net/big/new/${folder}/${info.nm_id}-${i}.jpg`, info.imt_name]);\n    }\n}\n\n// fetch feedback photos page by page\nconst PER_PAGE = 30;\nconst PAGES_LIMIT = 5;\nfor (var i = 0; i < PAGES_LIMIT; i++) {\n    x.open('POST', 'https://public-feedbacks.wildberries.ru/api/v1/feedbacks/site', false);\n    x.send('{\"imtId\":' + info.imt_id + ',\"skip\":' + PER_PAGE*i + ',\"take\":30,\"order\":\"dateDesc\",\"hasPhoto\":true}');\n    const resp = JSON.parse(x.responseText);\n    if (resp.feedbacks && resp.feedbacks.length) {\n        resp.feedbacks.forEach(f => f.photos.forEach(p => r.push([\n            'https://feedbackphotos.wbstatic.net/' + p.fullSizeUri, f.productValuation + ' &#11088; | ' + f.text\n        ])));\n    }\n\n    if (!resp.feedbacks || resp.feedbacks.length < PER_PAGE) break;\n}\n\nif (r.length == 0) r = false;\n\nreturn r;","img":"^(images.wbstatic.net)/(?:tm|c\\d+x\\d+)/(.+\\.jpg)","to":"$1/big/$2"}}

— Исправлен символ звёздочки в описании фотографий из отзывов.
— В описание фотографий из карточки товара добавлено название товара.
— Добавлено срабатывание на ссылках /feedbacks, отображаются только фото из отзывов.
— Если фильтр сработал на числе отзывов или звёздочках, то отображаются только фото из отзывов.

Всего записей: 668 | Зарегистр. 06-09-2002 | Отправлено: 18:16 02-10-2022
kenko2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
64h
Улучшения очевидны, большое спасибо!

Всего записей: 3776 | Зарегистр. 10-11-2005 | Отправлено: 19:08 02-10-2022
64h



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
{"R_Wildberries.ru":{"link":"^wildberries\\.ru/catalog/(\\d+)/(detail\\.aspx|feedbacks)(\\S+)?","url":"data:,none?$1$2$3","res":":\nvar r = [];\nconst x = new XMLHttpRequest();\n\nx.open('GET', 'https://wbx-content-v2.wbstatic.net/ru/' + $[1] + '.json', false);\nx.send();\nconst info = JSON.parse(x.responseText);\n\n// fetch item photos\n// skip when triggered by feedback links or elements\nif ($[2] == 'detail.aspx' && !$[3]?.includes('#Comments') && !this.TRG.className.includes('product-card__rating') && !this.TRG.className.includes('product-card__count')) {\n    const folder = 1e4 * Math.floor(info.nm_id / 1e4);\n    if (info.media.has_video) {\n        r.push([`https://video.wbstatic.net/video/new/${folder}/${info.nm_id}.mp4`, info.imt_name]);\n    }\n\n    for (var i = 1; i <= info.media.photo_count; i++) {\n        r.push([`https://images.wbstatic.net/big/new/${folder}/${info.nm_id}-${i}.jpg`, info.imt_name]);\n    }\n}\n\n// fetch feedback photos page by page\nconst PER_PAGE = 30;\nconst PAGES_LIMIT = 5;\nfor (var i = 0; i < PAGES_LIMIT; i++) {\n    x.open('POST', 'https://public-feedbacks.wildberries.ru/api/v1/feedbacks/site', false);\n    x.send('{\"imtId\":' + info.imt_id + ',\"skip\":' + PER_PAGE*i + ',\"take\":30,\"order\":\"dateDesc\",\"hasPhoto\":true}');\n    const resp = JSON.parse(x.responseText);\n    if (resp.feedbacks && resp.feedbacks.length) {\n        resp.feedbacks.forEach(f => f.photos.forEach(p => r.push([\n            'https://feedbackphotos.wbstatic.net/' + p.fullSizeUri, '&#11088; '.repeat(f.productValuation) + '&#9734; '.repeat(5 - f.productValuation) + f.text\n        ])));\n    }\n\n    if (!resp.feedbacks || resp.feedbacks.length < PER_PAGE) break;\n}\n\nif (r.length == 0) r = false;\n\nreturn r;","img":"^(images.wbstatic.net)/(?:tm|c\\d+x\\d+)/(.+\\.jpg)","to":"$1/big/$2"}}

Ну теперь совсем красиво: оценка покупателя будет отображаться просто звёздочками без цифры

Всего записей: 668 | Зарегистр. 06-09-2002 | Отправлено: 20:55 02-10-2022
kenko2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
64h

Цитата:
Ну теперь совсем красиво: оценка покупателя будет отображаться просто звёздочками без цифры

Ну да, так даже нагляднее. Только вот это непонятно:
http://ipic.su/7yYN9S
Когда звездочек меньше пяти, ты специально другие оставляешь? В смысле, без них нельзя обойтись или ты думаешь что так просто будет нагляднее/понятнее? Имхо достаточно просто 3, а не 3+2, иначе некая двусмысленность появляется...

Всего записей: 3776 | Зарегистр. 10-11-2005 | Отправлено: 22:06 02-10-2022
gpl2731

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
R_eBay

Код:
{"R_eBay":{"link":"^(?:(?:(?:be\\w\\w|viewitem\\.eim|cgi)\\.)?ebay\\.(?:a[pt]|[bd]e|c[ahnz]|co(?:m(?:\\.(?:au|hk|my|sg|tw))?|\\.(?:th|uk))|es|f[ir]|gr|
u|i[ent]|n[lo]|p[hl]|vn)/(?:itm/)?[^/?]*[?/](?:item=)?|chodientu\\.vn/ebay-item-)(\\d{8,19}).*","res":":\nconst rx =\n  /img src=\"([^\"]+)\" style=\"max\\-width:64px;max\\-height:64px\"\\s+index=\"\\d+\"/g;\nconst matches = [...$._.matchAll(rx)];\nif (matches.length)\n  return matches.map(item => [item[1].replace(/s\\-l\\d+\\./, 's-l9999.'), '']);\n\nconst scriptSrc = $._.match(/mediaList\":(\\[.*?)<\\/script>/)?.[1];\nif (!scriptSrc) return;\n\n// Find where the mediaList array ends.\nlet counter = 0,\n  end;\nfor (let i = 0; i < scriptSrc.length; i++) {\n  if (scriptSrc[i] === '[') counter++;\n  if (scriptSrc[i] === ']') counter--;\n  if (counter === 0) {\n    end = i + 1;\n    break;\n  }\n}\n\ntry {\n  return JSON.parse(scriptSrc.slice(0, end)).map(m => [\n    m?.image?.originalImg?.URL.replace(/s\\-l\\d+\\./, 's-l9999.'),\n    m?.image?.originalImg?.title.trim(),\n  ]);\n} catch (e) {\n  console.log(`eBay Sieve didn't work. Error: ${e}`);\n  return;\n}\n","img":"^((?:ssl)?i\\d*\\.ebayimg\\.com/)(?:(?:thumbs/)?(images/[a-z]/[^/]+/s-l)[^.]+|((?:t/[^/]+/)?\\d+/[^_]+(?:~~\\d*)?)_(?!32)\\d+\\.)","to":":\nreturn $[1]+($[2] ? $[2]+'1600' : $[3]+'_32.')","note":"gpl2731\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=1160#12\nOLD\nhttps://www.reddit.com/r/imagus/comments/fjtjio/where_can_i_get_the_default_url_string_for_the/\n\nПРИМЕРЫ / EXAMPLES:\nhttps://www.ebay.co.uk/b/Fishfinders-GPS/29723/bn_10198555?LH_Auction=1&rt=nc\nhttps://www.ebay.co.uk/b/Samsung-Laptops-Netbooks/175672/bn_6385453\nhttps://www.ebay.co.uk/p/28044271993?iid=165595634146\nhttps://www.ebay.com/sch/i.html?_from=R40&_trksid=p2499334.m570.l1313&_nkw=sports+cars&_sacat=6001\nhttps://www.ebay.com/itm/AMD-Ryzen-Threadripper-3990X-Processor-4-3-GHz-64-Core-Socket-sTRX4/223937363515?epid=4036368896&hash=item3423b4fe3b:g:4qkAAOSwzCFeYRaa"}}

 
https://pastebin.com/FJpmniny
Update to work ebay.au
https://www.ebay.com.au/sch/i.html?_nkw=samsung%20galaxy

Всего записей: 52 | Зарегистр. 26-09-2021 | Отправлено: 12:20 03-10-2022
kenko2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
gpl2731

Цитата:
R_eBay

Everything works, thank you!

Всего записей: 3776 | Зарегистр. 10-11-2005 | Отправлено: 13:26 03-10-2022
Baton34V



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
{"R_ComputerUniverse.net":{"link":"^computeruniverse\\.net/\\w\\w/p/\\d+","res":":\nlet res=[];\nlet jsn=JSON.parse($._.match(/<script id=\"__NEXT_DATA__\" type=\"application\\/json\">(.+?)<\\/script>/)[1]);\nif (jsn.props.pageProps.legacyFormat==false) {\n jsn=JSON.parse(atob(jsn.props.pageProps.edgeContextBase64));\n}\nelse {\n jsn=jsn.props.pageProps.edgeContext;\n}\nfor (let imgUrl of jsn.pageData.staticData.product.ProductPictures) {\n  res.push(['https://img.computerunivers.net'+imgUrl.ImageUrlBig]);\n}\nreturn res;","img":"(img\\.computerunivers\\.net/images/)\\d\\dx\\d\\d(/[A-F0-9]+\\.\\w{3,4})$","to":"$11000x1000$2","note":"by Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=640#3\nOLD\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=48222&start=4000#14\n\n!!!\nМожет потребоваться повторное наведение курсора\n==\nYou may need to hover the cursor again\n\nПРИМЕРЫ / EXAMPLES:\nhttps://www.computeruniverse.net/ru/c/noutbuki-planshety-i-pk/bloknoty-i-aksessuary"}}

Сайт почему-то только со второго раза отдаёт нормальную страницу, поэтому надо по два раза наводить на картинку или ссылку на товар.

Всего записей: 1083 | Зарегистр. 21-08-2009 | Отправлено: 19:31 03-10-2022
kenko2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Baton34V
Спасибо! По двойному наведению там в самом фильтре уже было указание.
 
Тут на Реддит пишут, не открываются ссылки с Реддит вот такого типа:
 
preview.redd.it
https://preview.redd.it/c8iwxagdenm91.png?width=2349&format=png&auto=webp&s=ceaadaff6601efb65619e5eb2db2814f4ed18535
https://preview.redd.it/6q2ccxd37lv41.jpg?width=640&crop=smart&auto=webp&s=f870780e91cdc2d6ec1e4c1e9abe9160c93d09a5
https://preview.redd.it/ykype0g9pwf81.jpg?width=750&format=pjpg&auto=webp&s=87e1a46a17fa9332965401c8a7a4407fcb6552e6
 
пишут, сломались из-за нового фильтра R_Reddit_gallery, если его отключить, то старый фильтр Reddit_gallery их цепляет.

Всего записей: 3776 | Зарегистр. 10-11-2005 | Отправлено: 20:04 03-10-2022 | Исправлено: kenko2, 20:09 03-10-2022
Baton34V



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kenko2

Цитата:
сломались из-за нового фильтра R_Reddit_gallery, если его отключить, то старый фильтр Reddit_gallery их цепляет.

Это какой-то другой фильтр ссылку обрабатывает.

Код:
{"R_Reddit_gallery":{"link":"^preview\\.redd.it\\/[^?]+\\?.*","url":"~","res":":\nlet res=[];\nlet thisNodeParent=this.node.parentNode.parentNode.parentNode.parentNode.parentNode;\nlet ul=thisNodeParent.getElementsByTagName('li');\nif (ul.length==0) return $[0];\nlet re=/preview(\\.redd.it\\/[^?]+)\\?.*/i\nfor (let i = 0; i <= ul.length - 1; i++) {\n  let fullUrl=ul[i].firstElementChild.firstElementChild.getAttribute('href');\n  let a = re.exec(fullUrl);\n  res.push(['https://' + (fullUrl.indexOf('format=mp4')>0 ? fullUrl +'#mp4' : 'i'+a[1])]);\n}\nreturn res;","note":"by Baton34V\nhttp://forum.ru-board.com/topic.cgi?forum=5&topic=50874&start=960#15\n\nEXAMPLES:\nhttps://www.reddit.com/r/EmulationOnAndroid/comments/i0nvx1/little_big_adventure_2_twinsens_odyssey_running/\nhttps://www.reddit.com/r/pokemon/comments/ws93kh/swadloons_face_in_other_pokemon/\nhttps://www.reddit.com/r/lego/comments/rh47m0/shes_the_prettiest_hunk_of_junk_in_the_galaxy/\nhttps://www.reddit.com/r/nvidia/comments/i0g3ps/successfully_swapped_the_2080ti_fan_with_a_noctua/\nhttps://www.reddit.com/r/soup/comments/i1py4e/pumpkin_potato_cream_to_die_for_with_bacon/"}}

Всего записей: 1083 | Зарегистр. 21-08-2009 | Отправлено: 21:01 03-10-2022
kenko2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Baton34V
К сожалению, это тоже не вариант, т.к. исправляет только на FF, но не работает на хромоклонах, вечный "зеленый" круг и ошибка:
http://ipic.su/7yYOAo
Плюс еще и галереи на хромоклонах отваливаются, с той же ошибкой.
 
Еще народ очень просил добавить поддержку листания альбома при наведении на ссылку (название поста) с тегом "images" (те же галереи, но в ленте сабреддита):
https://www.reddit.com/r/travel/
Там сейчас в зависимости от настроек в "компактном" виде - нет реакции, а в "полном" - показывает только первую картинку из сета.

Всего записей: 3776 | Зарегистр. 10-11-2005 | Отправлено: 22:08 03-10-2022 | Исправлено: kenko2, 22:24 03-10-2022
64h



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Новая фича: боковая панель. Первая экспериментальная реализация.

Код:
{"[Sidebar]":{"link":"^data:imagus_sidebar,([^|]+)\\|(.+)","loop":1,"url":":''","res":":\nfunction new_prepareCaption(trg, caption) {\n  if (caption && typeof caption === 'string')\n    trg.IMGS_caption = caption;\n  else\n    trg.IMGS_caption = '';\n}\n\nfunction add_element() {\n  if (document.querySelector('html > div > p')) return;\n  const p = document.createElement('p');\n  p.setAttribute('id', 'imagus_p');\n  document.querySelector('html > div').appendChild(p);\n}\n\nfunction inject_css() {\n  if (document.getElementById('imagus_css')) return;\n  const style = document.createElement('style');\n  style.setAttribute('id', 'imagus_css');\n  style.textContent = `\n    html > div {\n      transform: translateX(0px);\n    }\n    html > div > p {\n      width: 350px;\n      left: -350px;\n      top: 0;\n      margin: 0;\n      position: fixed;\n      white-space: pre-wrap;\n      background: rgba(0, 0, 0, 0.92);\n      color: rgb(255, 255, 255);\n      font: 13px / 1.4em \"Trebuchet MS\", sans-serif;\n      padding: 3px 8px 6px;\n      box-shadow: rgb(221, 221, 221) 0px 0px 1px inset;\n      border-radius: 3px;\n    }\n  `;\n  document.head.appendChild(style);\n}\n\nfunction inject_js() {\n  if (document.getElementById('imagus_js')) return;\n  const script = document.createElement('script');\n  script.setAttribute('id', 'imagus_js');\n  script.textContent = `\n    const callback = (mutationList, observer) => {\n      mutationList.forEach((mutation, mutation_index) => {\n        if (mutation.target.nodeName == 'DIV' && mutation.target.style.display == 'none')\n          imagus_p.style.display = 'none';\n\n        if (mutation.target.nodeName == 'SPAN')\n          mutation.addedNodes.forEach((node, node_index) => {\n            if (node.nodeName == '#text' && node.textContent.startsWith('[imagus_sidebar_enable]')) {\n              node.textContent = node.textContent.replace('[imagus_sidebar_enable]', '');\n              const text_array = JSON.parse(node.textContent);\n              node.textContent = '';\n              imagus_p.innerHTML = '';\n              for (const line of text_array)\n                if (line.startsWith('[imagus_caption]'))\n                  node.textContent = line.replace('[imagus_caption]', '');\n                else\n                  imagus_p.innerHTML += line;\n              imagus_p.style.display = 'block';\n              if (imagus_p.getBoundingClientRect().x < 0)\n                imagus_div.style.transform = 'translateX(' + Math.abs(imagus_p.getBoundingClientRect().x).toString() + 'px)';\n            }\n          });\n      });\n    };\n    const config = { attributes: true, childList: true };\n    const observer = new MutationObserver(callback);\n    const imagus_span = document.querySelector('html > div > div > span');\n    const imagus_div = document.querySelector('html > div');\n    const imagus_p = document.querySelector('html > div > p');\n    observer.observe(imagus_span, config);\n    observer.observe(imagus_div, config);\n  `;\n  script.onload = () => { remove(); };\n  document.head.appendChild(script);\n}\n\nthis.prepareCaption = new_prepareCaption;\nadd_element();\ninject_css();\ninject_js();\n\nreturn [decodeURI($[1]), '[imagus_sidebar_enable]' + decodeURI($[2])];"}}

 
Панель вызывается и заполняется информацией из других фильтров. Вот как это работает на примере IMDb.

Код:
{"R_IMDb":{"useimg":1,"link":"^(?:m\\.)?imdb\\.com/title/tt\\d+(?:/\\?\\S*|/)?$","loop":1,"res":":\nlet image_url = $._.match(/=\"og:image\" content=\"([^\"]+)/)[1];\nif (image_url.includes('imdb_logo')) image_url = 'https://m.media-amazon.com/images/G/01/imdb/images-ANDW73HA/favicon_iPhone_retina_180x180.png';\nconst title = $._.match(/=\"og:title\" content=\"([^\"]+) \\([^\\)]+....IMDb\"/)[1];\nconst year = $._.match(/=\"og:title\" content=\"[^\"]+\\(([^\\)]+)....IMDb\"/)[1];\nconst description = $._.match(/=\"og:description\" content=\"([^\"]+)/)[1].slice(title.length + 2);\nconst rating_value = $._.match(/\"AggregateRating\"[^}]+\"ratingValue\":([\\d\\.]+)/)?.[1];\nconst rating_count = $._.match(/\"ratingCount\":(\\d+)/)?.[1];\nconst rating = (rating_value) ? `\\u2B50 ${Number(rating_value).toFixed(1)} (${rating_count})` : '';\n\nconst x_text = [\n  '[imagus_caption]IMDb',\n  `<b>${title} (${year})</b>`,\n  (rating) ? `\\n${rating}\\n\\n` : '\\n\\n',\n  description\n];\n\nreturn 'data:imagus_sidebar,' + image_url + '|' + JSON.stringify(x_text);","img":"^((?:(?:images\\.|(?:images-[a-z]{2}\\.ssl-|(?![gz]-)[^.?]+\\.)images-)amazon|ia\\.media-imdb|m\\.media-amazon)\\.com/images/[^/]/[^.]+(?:(?!\\.[A-Za-z]{3,4}$)\\.[^A-Z_.]+)*)(?:$|(?!_(?:CB|V)\\d{4,}_\\.)[^?]*\\.([^?]*).*)","to":":\nvar x=$[2]||'#jpg png#'\nreturn '#' + $[1] + '.' + x +'\\n'+$[1] + '._SY1024_SX1024_.'+x"}}

 
 
kenko2

Цитата:
http://ipic.su/7yYN9S
Когда звездочек меньше пяти, ты специально другие оставляешь? В смысле, без них нельзя обойтись или ты думаешь что так просто будет нагляднее/понятнее? Имхо достаточно просто 3, а не 3+2, иначе некая двусмысленность появляется...

Да, это специально. Три звезды горят, две не горят. Соответственно, оценка три звезды. В интерфейсе Wildberries везде так. И на Amazon, кстати, тоже. Изначально я сделал, как ты предлагаешь, но это смотрится не очень, потому что не соответствует интерфейсу сайта.

Всего записей: 668 | Зарегистр. 06-09-2002 | Отправлено: 00:28 05-10-2022
kenko2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
64h

Цитата:
Новая фича: боковая панель. Первая экспериментальная реализация.

Хм, интересно. Поставил - ничего не изменилось, кроме текста описания при наведении на внешнюю ссылку с IMDB - там добавилась оценка. Так более информативно, согласен. Правда в тексте описания появились служебные символы: [imagus_caption] / </b> / \n\n. Их как-то можно убрать?
 
Но где собственно "боковая панель"? На странице фильма на самом IMDB вроде бы ничего не поменялось.
 
И сам фильтр [Sidebar] - куда его поместить относительно других фильтров?

Всего записей: 3776 | Зарегистр. 10-11-2005 | Отправлено: 16:01 05-10-2022 | Исправлено: kenko2, 16:03 05-10-2022
64h



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Поставил - ничего не изменилось

Наверное, в Chrome не работает. Я пока не смотрел, что там происходит. Делаю в Firefox. Выглядеть должно так:
 
   
 

Цитата:
И сам фильтр [Sidebar] - куда его поместить относительно других фильтров?

Скорее всего, это не имеет значения.
 
 
Доработанные фильтры...

Всего записей: 668 | Зарегистр. 06-09-2002 | Отправлено: 18:44 05-10-2022 | Исправлено: 64h, 18:47 05-10-2022
kenko2



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
64h

Цитата:
Выглядеть должно так

У меня на FF DE 106 последняя версия этих фильтров выглядит так:
http://ipic.su/7yYQ71
 
А на хромоклонах вообще не открывается, сначала зеленый круг, а потом серый с ошибкой в консоли:
http://ipic.su/7yYQ6Y

Всего записей: 3776 | Зарегистр. 10-11-2005 | Отправлено: 19:38 05-10-2022 | Исправлено: kenko2, 19:39 05-10-2022
64h



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
У меня на FF DE 106 последняя версия этих фильтров выглядит так:
http://ipic.su/7yYQ71

Это исправил. Подробнее...
 
Chrome тоже посмотрю, но позже.

Всего записей: 668 | Зарегистр. 06-09-2002 | Отправлено: 20:19 05-10-2022
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132

Компьютерный форум Ru.Board » Компьютеры » Программы » Imagus (Часть 2)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru