IMDb Quick Search

It adds quick seach buttons for other sites on IMDb.

目前为 2022-06-26 提交的版本。查看 最新版本

  1. // ==UserScript==
  2. // @name IMDb Quick Search
  3. // @name:tr IMDb Hızlı Arama
  4. // @description It adds quick seach buttons for other sites on IMDb.
  5. // @description:tr IMDb'ye başka siteler için hızlı arama butonu ekler.
  6. // @author nht.ctn
  7. // @namespace https://github.com/nhtctn
  8. // @version 2
  9.  
  10. // @license MIT
  11. // @icon https://images2.imgbox.com/a2/50/J4jKvYWH_o.png
  12.  
  13. // @match *://*.imdb.com/title/*
  14. // @match *://subscene.com/subtitles/title?q=*
  15.  
  16. // @grant GM_addStyle
  17. // @run-at document-idle
  18.  
  19. // @require https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js
  20. // @require https://greasyfork.org/scripts/427315-url-based-search-for-some-websites/code/URL%20Based%20Search%20for%20Some%20Websites.js?version=936416
  21.  
  22. /*jshint esversion: 6 */
  23. // ==/UserScript==
  24.  
  25. (function() {
  26. 'use strict';
  27.  
  28. // URL Variables: @Movie @Series @Episode @Non-English
  29.  
  30. // %title% -> Fight Club Dexter Dexter Parasite
  31. // %year% -> 1999 2006 "" 2019
  32. // %title_year% -> Fight Club 1999 Dexter Dexter Parasite 2019 // This variable calls year for only movies, not series. If you want year in both case, use this: %title%+%year%
  33. // %org_title% -> Fight Club Dexter "" Gisaengchung // Actually it returns same as %title% in episode pages. It is not possible to get orginal title from there.
  34. // %imdbid% -> 0137523 0773262 0773262 6751668
  35. // %ttimdbid% -> tt0137523 tt0773262 tt0773262 tt6751668
  36.  
  37. const sites = [
  38. // { name: "PlanetDP", url: "https://www.planetdp.org/movie/search?title=%ttimdbid%", icon: "https://images2.imgbox.com/fc/77/EFoYyf12_o.png", },
  39. // { name: "PlanetDP Forum", url: "http://forum.planetdp.org/index.php?/search/&q=%title%", icon: "https://images2.imgbox.com/b9/1d/mMZ0k950_o.png", },
  40. // { name: 'IMDB Kutusu (Forum)', url: 'http://forum.planetdp.org/index.php?/search/&q=%ttimdbid%', icon: 'https://images2.imgbox.com/a0/de/q9nkl3Ot_o.png', },
  41. // { name: 'ForumDP TAG', url: 'http://forum.planetdp.org/index.php?/tags/%ttimdbid%', icon: 'https://images2.imgbox.com/11/27/hxxGZh9x_o.png', },
  42. { name: 'Youtube', url: 'https://www.youtube.com/results?search_query=%title%+trailer', icon: 'https://images2.imgbox.com/43/65/k7wbhSal_o.png', },
  43. // { name: 'Ekşi', url: 'https://eksisozluk.com/?q=%title%', icon: 'https://images2.imgbox.com/e2/78/4Fejmpfi_o.png', },
  44. { name: 'Resmi Site', url: 'https://www.google.com.tr/search?q=%title%+official+website', icon: 'https://images2.imgbox.com/63/af/U8W35AyF_o.png', },
  45. { name: 'TheMovieDB', url: 'https://www.themoviedb.org/search?query=%title%', icon: 'https://images2.imgbox.com/cc/ba/AmRxFc36_o.png', },
  46. { name: 'TheTVDB', url: 'https://www.thetvdb.com/search?query=%title%', icon: 'https://images2.imgbox.com/85/50/WViQFyra_o.png', },
  47. { name: 'BeyazPerde', url: 'https://www.beyazperde.com/aramak/?q=%title%', icon: 'https://images2.imgbox.com/15/ce/BydtnSMH_o.png', },
  48. { name: 'Rottentomatoes', url: 'http://www.rottentomatoes.com/search/?search=%title%', icon: 'https://images2.imgbox.com/fc/0a/pm8N3AWv_o.png', },
  49. { name: 'Metacritic', url: 'https://www.metacritic.com/search/all/%title%/results', icon: 'https://images2.imgbox.com/ce/b0/OmF70Xo6_o.png', },
  50. { name: 'Trakt', url: 'https://trakt.tv/search/imdb?query=%ttimdbid%', icon: 'https://images2.imgbox.com/b9/55/Scyuh64R_o.png', },
  51. { name: 'IcheckMovies', url: 'http://www.icheckmovies.com/search/movies/?query=%ttimdbid%', icon: 'https://images2.imgbox.com/f2/d6/fQRQ8Quz_o.png', },
  52. { name: 'Letterboxd', url: 'https://letterboxd.com/search/films/%ttimdbid%', icon: 'https://images2.imgbox.com/26/8f/a0pCUa2W_o.png', },
  53. { name: 'Criticker', url: 'https://www.criticker.com/?search=%ttimdbid%', icon: 'https://images2.imgbox.com/f4/83/L04pazdG_o.png', },
  54. // { name: 'ALLMOVIE', url: 'https://www.allmovie.com/search/movies/%title%', icon: 'https://images2.imgbox.com/41/7a/D8XGwR4Q_o.png', },
  55. { name: 'Douban', url: 'https://movie.douban.com/subject_search?search_text=%ttimdbid%', icon: 'https://images2.imgbox.com/96/6a/yxMwQBW9_o.png', },
  56. { name: 'Box Office Mojo', url: 'http://www.boxofficemojo.com/search/?q=%title%', icon: 'https://images2.imgbox.com/07/8a/WdNKBfjC_o.png', },
  57. { name: 'Sinemalar', url: 'https://www.sinemalar.com/ara/?type=all&q=%title%', icon: 'https://images2.imgbox.com/81/40/1miFBH85_o.png', },
  58. { name: 'TVShow Time', url: 'https://www.google.com.tr/search?q=%title%+TVShow+Time', icon: 'https://images2.imgbox.com/b0/f1/yl82CbyK_o.png', },
  59. // { name: 'TVmaze', url: 'http://www.tvmaze.com/search?q=%title%', icon: 'https://images2.imgbox.com/88/3a/nfS7SSXY_o.png', },
  60. // { name: 'TV.com', url: 'http://www.tv.com/search?q=%title%', icon: 'https://images2.imgbox.com/01/c6/uxF9LWgL_o.png', },
  61. { name: 'MyDramaList', url: 'https://mydramalist.com/search?q=%title%', icon: 'https://images2.imgbox.com/18/9d/voQieZdD_o.png', },
  62. { name: 'MAL', url: 'https://myanimelist.net/search/all?q=%title%', icon: 'https://images2.imgbox.com/bf/8b/cQ2UnZIa_o.png', },
  63. { name: 'AniDB', url: 'https://anidb.net/perl-bin/animedb.pl?adb.search=%title%&show=search&do.search=search', icon: 'https://images2.imgbox.com/3b/c9/eeUYC5n7_o.png', },
  64. { name: 'LiveChart', url: 'https://www.livechart.me/search?q=%title%', icon: 'https://images2.imgbox.com/85/08/C91WXD3m_o.png', },
  65. { name: 'RARBG', url: 'https://rarbgmirror.com/torrents.php?search=%imdbid%', icon: 'https://images2.imgbox.com/34/0b/bCrT9fHL_o.png', },
  66. { name: '1337x', url: 'https://www.1337x.to/sort-search/%title_year%/time/desc/1/', icon: 'https://images2.imgbox.com/1d/9e/mgOmJEvI_o.png', },
  67. { name: 'Zooqle', url: 'https://zooqle.com/search?q=%title_year%&s=ns&v=t&sd=d', icon: 'https://images2.imgbox.com/25/3b/Sd8La3js_o.png', },
  68. { name: 'TorrentGalaxy', url: 'https://torrentgalaxy.to/torrents.php?search=%ttimdbid%&sort=id&sort=id&order=desc', icon: 'https://images2.imgbox.com/c2/27/dGkG9vjT_o.png', },
  69. { name: 'ETTV', url: 'https://www.ettv.tv/torrents-search.php?search=%title%&sort=id&order=desc', icon: 'https://images2.imgbox.com/fa/3e/zi3h52EA_o.png', },
  70. { name: 'PSA', url: 'http://psarips.com/?s=%title_year%', icon: 'https://images2.imgbox.com/26/c1/2OXmz3tN_o.png', },
  71. { name: 'RuTracker', url: 'http://rutracker.org/forum/tracker.php?nm=%title_year%', icon: 'https://images2.imgbox.com/24/5d/kj3YSoFr_o.png', },
  72. { name: 'Zamunda', url: 'http://zamunda.net/bananas?&search=%title_year%', icon: 'https://images2.imgbox.com/89/58/BcmHxuVW_o.png', },
  73. { name: 'BTN', url: 'http://broadcasthe.net/torrents.php?searchstr=%title_year%', icon: 'https://images2.imgbox.com/d4/a1/PXzzpDjb_o.png', },
  74. { name: 'TorrentDay', url: 'http://www.torrentday.com/browse.php?search=%title_year%', icon: 'https://images2.imgbox.com/01/c0/sELs3Ft4_o.png', },
  75. { name: 'CinemaGeddon', url: 'http://cinemageddon.net/browse.php?search=%imdbid%', icon: 'https://images2.imgbox.com/0d/9c/rkhfaakh_o.png', },
  76. { name: 'KaraGarga', url: 'https://karagarga.in/browse.php?search=%imdbid%&search_type=imdb', icon: 'https://images2.imgbox.com/cc/ea/EMx6RWyb_o.png', },
  77. // { name: 'Hd-T', url: 'http://hd-torrents.org/torrents.php?search=%imdbid%', icon: 'https://images2.imgbox.com/c1/e7/LFKIWxpN_o.png', },
  78. // { name: 'Filelist', url: 'http://filelist.ro/browse.php?search=%imdbid%', icon: 'https://images2.imgbox.com/9e/2e/R3yGIQm7_o.png', },
  79. // { name: 'IPT', url: 'http://www.iptorrents.com/t?q=%ttimdbid%', icon: 'https://images2.imgbox.com/0b/49/AwbWiNMY_o.png', },
  80. // { name: 'PrivateHD', url: 'https://privatehd.to/torrents?in=1&search=%title%&order=age&sort=desc', icon: 'https://images2.imgbox.com/64/a7/KBgM8R4y_o.png', },
  81. { name: 'TurkTorrent', url: 'https://turktorrent.us/?p=torrents&pid=10&q=%ttimdbid%', icon: 'https://images2.imgbox.com/79/1f/Jbd4Vu5n_o.png', },
  82. { name: 'Vikipedi', url: 'https://www.google.com.tr/search?q=%title%+Turkish+Wikipedia', icon: 'https://images2.imgbox.com/11/c7/bY5WbObT_o.png', },
  83. { name: 'Wikipedia', url: 'https://www.google.com.tr/search?q=%title%+English+Wikipedia', icon: 'https://images2.imgbox.com/cd/e0/OgTwm1AC_o.png', },
  84. { name: 'Fandom', url: 'http://fandom.wikia.com/?s=%title%', icon: 'https://images2.imgbox.com/18/73/EDiJiEBk_o.png', },
  85. { name: 'IMP Awards', url: 'http://impawards.com/search.php?search_data=%title%', icon: 'https://images2.imgbox.com/fc/78/oxUxSfB5_o.png', },
  86. { name: 'Fanart', url: 'https://fanart.tv/?sect=3&s=%title%', icon: 'https://images2.imgbox.com/4b/40/6zjbxrch_o.png', },
  87. // { name: 'FirstShowing', url: 'https://www.firstshowing.net/?s=%title%', icon: 'https://images2.imgbox.com/79/b3/F8dpZuZD_o.png', },
  88. { name: 'Subscene', url: 'http://subscene.com/subtitles/title?q=%title%', icon: 'https://images2.imgbox.com/b0/3b/SY0apigg_o.png', },
  89. { name: 'OpenSubtitles', url: 'https://www.opensubtitles.org/en/search/sublanguageid-eng,tur/imdbid-%imdbid%', icon: 'https://images2.imgbox.com/60/3c/I7sFiFdm_o.png', },
  90. { name: 'Addic7ed', url: 'https://www.addic7ed.com/search.php?search=%title%', icon: 'https://images2.imgbox.com/79/66/O9utGGF8_o.png', },
  91. // { name: 'Podnapisi', url: 'https://www.podnapisi.net/en/subtitles/search/?keywords=%title%', icon: 'https://images2.imgbox.com/ed/a7/1tY9szFy_o.png', },
  92. { name: "PlanetDP", url: "https://www.planetdp.org/movie/search?title=%ttimdbid%", icon: "https://images2.imgbox.com/fc/77/EFoYyf12_o.png", },
  93. { name: 'Türkçe Altyazı', url: 'http://www.turkcealtyazi.org/find.php?cat=sub&find=%ttimdbid%', icon: 'https://images2.imgbox.com/b1/11/4ULjZm1K_o.png', },
  94.  
  95. // {name: "", url: "", icon: "",}
  96. // {name: "", url: "", icon: "",}
  97. ];
  98.  
  99. const torrentSites = [
  100. { name: 'RARBG', url: 'https://rarbgmirror.com/torrents.php?search=%imdbid%', icon: 'https://images2.imgbox.com/34/0b/bCrT9fHL_o.png', },
  101. { name: '1337x', url: 'https://www.1337x.to/sort-search/%title_year%/time/desc/1/', icon: 'https://images2.imgbox.com/1d/9e/mgOmJEvI_o.png', },
  102. { name: 'Zooqle', url: 'https://zooqle.com/search?q=%title_year%&s=ns&v=t&sd=d', icon: 'https://images2.imgbox.com/25/3b/Sd8La3js_o.png', },
  103. { name: 'TorrentGalaxy', url: 'https://torrentgalaxy.to/torrents.php?search=%ttimdbid%&sort=id&sort=id&order=desc', icon: 'https://images2.imgbox.com/c2/27/dGkG9vjT_o.png', },
  104. { name: 'ETTV', url: 'https://www.ettv.tv/torrents-search.php?search=%title%&sort=id&order=desc', icon: 'https://images2.imgbox.com/fa/3e/zi3h52EA_o.png', },
  105. { name: 'PSA', url: 'http://psarips.com/?s=%title_year%', icon: 'https://images2.imgbox.com/26/c1/2OXmz3tN_o.png', },
  106. { name: 'RuTracker', url: 'http://rutracker.org/forum/tracker.php?nm=%title_year%', icon: 'https://images2.imgbox.com/24/5d/kj3YSoFr_o.png', },
  107. { name: 'Zamunda', url: 'http://zamunda.net/bananas?&search=%title_year%', icon: 'https://images2.imgbox.com/89/58/BcmHxuVW_o.png', },
  108. { name: 'BTN', url: 'http://broadcasthe.net/torrents.php?searchstr=%title_year%', icon: 'https://images2.imgbox.com/d4/a1/PXzzpDjb_o.png', },
  109. { name: 'TorrentDay', url: 'http://www.torrentday.com/browse.php?search=%title_year%', icon: 'https://images2.imgbox.com/01/c0/sELs3Ft4_o.png', },
  110. { name: 'CinemaGeddon', url: 'http://cinemageddon.net/browse.php?search=%imdbid%', icon: 'https://images2.imgbox.com/0d/9c/rkhfaakh_o.png', },
  111. { name: 'KaraGarga', url: 'https://karagarga.in/browse.php?search=%imdbid%&search_type=imdb', icon: 'https://images2.imgbox.com/cc/ea/EMx6RWyb_o.png', },
  112. { name: 'Hd-T', url: 'http://hd-torrents.org/torrents.php?search=%imdbid%', icon: 'https://images2.imgbox.com/c1/e7/LFKIWxpN_o.png', },
  113. { name: 'Filelist', url: 'http://filelist.ro/browse.php?search=%imdbid%', icon: 'https://images2.imgbox.com/9e/2e/R3yGIQm7_o.png', },
  114. { name: 'IPT', url: 'http://www.iptorrents.com/t?q=%ttimdbid%', icon: 'https://images2.imgbox.com/0b/49/AwbWiNMY_o.png', },
  115. { name: 'PrivateHD', url: 'https://privatehd.to/torrents?in=1&search=%title%&order=age&sort=desc', icon: 'https://images2.imgbox.com/64/a7/KBgM8R4y_o.png', },
  116. { name: 'TurkTorrent', url: 'https://turktorrent.us/?p=torrents&pid=10&q=%ttimdbid%', icon: 'https://images2.imgbox.com/79/1f/Jbd4Vu5n_o.png', },
  117. ];
  118.  
  119. var drama_sites = [
  120. { name: 'MyDramaList', url: 'https://mydramalist.com/search?q=%title%', icon: 'https://images2.imgbox.com/18/9d/voQieZdD_o.png', },
  121. { name: 'AsianWiki', url: 'https://asianwiki.com/index.php?title=Special%3ASearch&search=%title%', icon: 'https://images2.imgbox.com/73/a6/kUDT1yO9_o.png', },
  122. { name: 'Hancinema', url: 'https://www.hancinema.net/googlesearch.php?cx=partner-pub-1612871806153672%3A2t41l1-gajp&cof=FORID%3A10&ie=ISO-8859-1&hl=en&q=%title%', icon: 'https://images2.imgbox.com/46/c6/qxK0R7S4_o.png', },
  123. { name: 'Viki', url: 'https://www.viki.com/search?q=%title%&type=series', icon: 'https://images2.imgbox.com/9c/46/Flf1ykIh_o.png', },
  124. { name: 'Soompi', url: 'https://www.soompi.com/search?query=%title%', icon: 'https://images2.imgbox.com/d9/ab/4jDFz2WS_o.png', },
  125. { name: 'DramaBeans', url: 'https://www.dramabeans.com/?s=%title%', icon: 'https://images2.imgbox.com/62/c1/2mKN3cII_o.png', },
  126. ];
  127.  
  128. var anime_sites = [
  129. { name: 'MAL', url: 'https://myanimelist.net/search/all?q=%title%', icon: 'https://images2.imgbox.com/bf/8b/cQ2UnZIa_o.png', },
  130. { name: 'AniDB', url: 'https://anidb.net/perl-bin/animedb.pl?adb.search=%title%&show=search&do.search=search', icon: 'https://images2.imgbox.com/3b/c9/eeUYC5n7_o.png', },
  131. { name: 'ANN', url: 'https://www.animenewsnetwork.com/search?q=%title%', icon: 'https://images2.imgbox.com/64/ca/uWlLBCwp_o.png', },
  132. { name: 'LiveChart', url: 'https://www.livechart.me/search?q=%title%', icon: 'https://images2.imgbox.com/85/08/C91WXD3m_o.png', },
  133. { name: 'AniList', url: 'https://anilist.co/search/anime?search=%title%', icon: 'https://images2.imgbox.com/98/a6/NfPnZ1Hy_o.png', },
  134. { name: 'Kitsu', url: 'https://kitsu.io/anime?&text=%title%', icon: 'https://images2.imgbox.com/88/c9/Q9wsiMwc_o.png', },
  135. { name: 'aniSearch', url: 'https://www.anisearch.com/anime/index/?page=1&char=all&text=%title%&smode=2', icon: 'https://images2.imgbox.com/9c/a3/gMmGqWe7_o.png', },
  136. { name: 'Nyaa', url: 'https://nyaa.si/?&q=%org_title%', icon: 'https://images2.imgbox.com/ae/83/Wt7miqlB_o.png', },
  137. { name: 'AnimeTosho', url: 'https://animetosho.org/search?q=%org_title%', icon: 'https://images2.imgbox.com/95/99/ielNsiUu_o.png', },
  138. { name: 'AniDex', url: 'https://anidex.info/?q=%org_title%', icon: 'https://images2.imgbox.com/b4/e1/uCD81F45_o.png', },
  139. { name: 'AnimeBytes', url: 'https://animebytes.tv/torrents.php?searchstr=%title%&force_default=1', icon: 'https://images2.imgbox.com/aa/58/vsP6uAXE_o.png', },
  140. { name: 'BakaBT', url: 'https://bakabt.me/browse.php?q=%title%', icon: 'https://images2.imgbox.com/6a/b8/4qBbiNge_o.png', },
  141. { name: 'RuTracker', url: 'http://rutracker.org/forum/search_cse.php?q=%org_title%', icon: 'https://images2.imgbox.com/24/5d/kj3YSoFr_o.png', },
  142. { name: 'TürkAnime', url: 'http://www.turkanime.tv/?q=%title%', icon: 'https://images2.imgbox.com/48/1b/6S4bA8pN_o.png', },
  143. ];
  144.  
  145. // Styles
  146. GM_addStyle(`
  147. .quick-search {margin-left: 0; margin-right: 0;}
  148. .quick-search > div {justify-content: flex-start; flex-wrap: wrap; height: unset; padding: 0.6rem;}
  149. .quick-search button {padding: 0.2rem; opacity: 0.7;}
  150. .quick-search button:hover {opacity: 1;}
  151. .quick-search a {display: flex;}
  152. .quick-search img {height: 1.4rem; width: 1.4rem;}
  153. `);
  154.  
  155. // Title edit
  156. const titleEdit=(t) => {
  157. return t
  158. .replace(/[\/\\()~?<>{}]/g, "") //remove bad chars
  159. .replace("&amp;","%26") //replace & with code
  160. .replace("&", "%26")
  161. .replace('"', '%22')
  162. .replace("#", "%23")
  163. .replace("$", "%24")
  164. .replace("%", "%25")
  165. .replace("'", "%27")
  166. .replace("*", "%2A")
  167. .replace("-", "%2D")
  168. ;
  169. };
  170.  
  171. // Variables
  172. const regex = /\/title\/(tt\d+)\/?/;
  173. const pageUrl = window.location.href;
  174. var isSerial = ($('.episode-guide-text').length > 0) ? true : false;
  175. var ttImdbId = regex.exec( pageUrl )[1];
  176. var title = titleEdit( $('[data-testid="hero-title-block__title"]').text().trim() );
  177. var orgTitle = titleEdit( $('[data-testid="hero-title-block__original-title"]').text().replace(/Original title: /i,"").trim() );
  178. orgTitle = (orgTitle == "") ? title : orgTitle;
  179. var year = $('title').text().replace(/.+\(.*?(\d{4}).*\) - IMDb/, "$1");
  180. var titleYear = isSerial ? title : title + " " + year;
  181. var episodeCheck = $('[data-testid="hero-subnav-bar-season-episode-numbers-section"]').length > 0;
  182. if (episodeCheck) {
  183. let parent = $('[data-testid="hero-title-block__series-link"]');
  184. ttImdbId = regex.exec( parent.attr("href") )[1];
  185. title = parent.text();
  186. orgTitle = title;
  187. titleYear = title;
  188. }
  189.  
  190. // Anime & Drama
  191. var isDrama;
  192. var isAnime;
  193. var language = $('[data-testid="title-details-languages"]').text().trim();
  194. var genre = $('[data-testid="genres"]').text().trim();
  195. if (language.search( /(Korean|Japanese|Mandarin|Chinese|Tagalog|Cantonese)/i ) >= 0 && language.search( /English/i ) < 0 && genre.search( /Animation/i ) < 0) {isDrama = true;}
  196. if (language.search( /Japanese/i ) >= 0 && language.search( /English/i ) < 0 && genre.search( /Animation/i ) >= 0) {isAnime = true;}
  197. console.log(isDrama);
  198.  
  199. // Functions
  200. const url=(u) => {
  201. return u
  202. .replace("%ttimdbid%", ttImdbId)
  203. .replace("%imdbid%", ttImdbId.replace("tt",""))
  204. .replace("%title%", title)
  205. .replace("%year%", year)
  206. .replace("%title_year%", titleYear)
  207. .replace("%org_title%", orgTitle)
  208. ;
  209. };
  210. const refPos = (p_ref, nthParent) => {
  211. let ref = document.querySelector(p_ref);
  212. for (let x = 0; x < nthParent; x++) {
  213. ref = ref.parentElement;
  214. }
  215. ref = ref.getBoundingClientRect()
  216. let width = ref.width;
  217. return {
  218. top: (window.scrollY + ref.top) + "px",
  219. bottom: (window.scrollY + ref.bottom) + "px",
  220. left: ref.left + "px",
  221. width: width + "px",
  222. };
  223. };
  224. const putBtns=(group, id, ref) => {
  225. // Delete some margin
  226. $(':not(#searchOn) >' + ref).parent().parent().children().css("margin-bottom", "0px" );
  227. // Create clone area
  228. let cloneArea = $('.watchContainerClone');
  229. if (cloneArea.length <= 0) {
  230. $('body').prepend('<div class="watchContainerClone" style="position: absolute; z-index: 100; padding-top: 1rem;"></div>');
  231. cloneArea = $('.watchContainerClone');
  232. let pos = refPos('[data-testid="hero-title-block__title"]', 2);
  233. cloneArea.css("top", pos.bottom).css("left", pos.left).css("width", pos.width);
  234. }
  235. // Put bar
  236. let bar = $('[data-testid="hero-subnav-bar-right-block"]').parent().parent().clone().attr("id", id).addClass("quick-search");
  237. bar.children(0).html("");
  238. bar.prependTo( cloneArea );
  239. // Put buttons
  240. let cls = $('[data-testid="hero-subnav-bar-all-topics-button"]').attr("class");
  241. group.forEach(function(s) {
  242. $('#' + id + ' > div:first-child').append('<button class="' + cls + '" title="' + s.name + '"><a href="' + url(s.url) + '" target="_blank"><img src="' + s.icon + '"></img></a></button>');
  243. });
  244. // Position and space for Clone
  245. cloneArea.css("padding-top", 0);
  246. let cloneHeight = document.querySelector('.watchContainerClone').getBoundingClientRect().height + "px";
  247. $(':not(#searchOn) >' + ref).parent().parent().css("margin-bottom", cloneHeight );
  248. };
  249.  
  250. // Put Search Buttons
  251. putBtns(sites, 'searchOn', '[data-testid="hero-title-block__title"]');
  252. })();