您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Добавить фильм в папку
当前为
// ==UserScript== // @name Kinopoisk - Add to folder // @namespace scriptomatika // @author mouse-karaganda // @description Добавить фильм в папку // @license MIT // @match https://www.kinopoisk.ru/film/* // @icon https://www.google.com/s2/favicons?sz=64&domain=kinopoisk.ru // @version 1.1 // @grant none // ==/UserScript== (function() { let $$ = unsafeWindow.__krokodil; let $ = window.jQuery; console.log('kinoscript :: Userscript run at == ', location.href); let poisk = {}; let plugin = { insertStyle: function() { let styleText = [ '.styles_userFoldersContainer { text-align: center; margin-bottom: 24px; }', '.styles_userFoldersContainer a { color: #3bb33b; text-align: center; text-decoration: none; font-weight: bold; }', '.styles_userFoldersContainer a:hover { color: #266fff; }', '.styles_userFoldersContainer iframe { width: 0; height: 0; border: 0; w_display: none; }', '.styles_userFoldersContainer iframe { width: 280px; height: 280px; }' ]; $('<style type="text/css">').appendTo(document.head) .text(styleText.join('\n')); }, createFolders: function() { let foldersMenu = $('div[class*=styles_foldersMenu]').parents('div[class*=styles_userControlsContainer]'); console.log('kinoscript :: foldersMenu = ', foldersMenu); if (foldersMenu.length == 0) { return; } poisk.section = $('<div />').insertBefore(foldersMenu).addClass('styles_userFoldersContainer styles_section'); poisk.link = $('<a href="#" />').appendTo(poisk.section).text('🔻 Список папок') .on('click', plugin.openFolderList); poisk.frame = $('<iframe />').appendTo(poisk.section); }, openFolderList: function(evt) { evt.preventDefault(); evt.stopPropagation(); $.get('/mykp/movies/', function(data) { let ifrm = poisk.frame[0]; poisk.doc = (ifrm.contentWindow) ? ifrm.contentWindow.document : ifrm.contentDocument; poisk.doc.open(); poisk.doc.write(data); poisk.doc.close(); window.pok = poisk; console.log('kinoscript :: openFolderList doc = ', poisk.doc); let frameGetter = () => poisk.frame.contents().find("ul#folderList li"); let frameReader = (list) => { console.log('kinoscript :: openFolderList ul = ', list); let mapList = list.map((index, item) => { let elem = $(item); let result = { id: elem.data('id'), name: elem.find('a').text(), raw: item }; if (result.name == '') { let match = elem.find('.nameAndNum').text().trim().match(/(.+) \(\d+\)/); if (match) { result.name = match[1]; } } return result; }); console.log('kinoscript :: openFolderList map = ', mapList); }; plugin.missingElement(frameGetter, frameReader); }); }, missingElement: function(elemGetter, callback) { // Итерации 10 раз в секунду let missingOne = 100; // Ограничим количество попыток разумными пределами let maxIterCount = 3000; let elemTimer; let iterCount = 0; let missingHandler = () => { let elemList = elemGetter(); // Определим, что вышел элемент let elemStop = (elemList.length > 0); // Определим, что кончилось количество попыток let iterStop = (iterCount >= maxIterCount); if (elementStop || iterStop) { clearInterval(elemTimer); // Если элемент так и не появился if (!elementStop && iterStop) { alert('Нет элемента'); return; } if (elemList.length == 1) { elemList = elemList.eq(0); } callback.call(window, elemList); } iterCount++; }; elemTimer = setInterval(missingHandler, missingOne); }, checkLibrary: function () { if ($) { plugin.afterLoad(); } else { let tagJS = document.createElement('script'); tagJS.src = [ 'https://kinopoisk-ru.clstorage.net/y14jW9200/2e7f125Abj/j-wGvp0kfqLwDa29G0MN_FJDWTAcbisVPvX4ta-ytMC3jApXxnNGOpsuEQMMaHvj5JQK57-KpH4BrrZLGe5FosamC6KKZG', 'nLgSec0T1tMdFwcjkpDm0qFCS04aCuv6jZ6tAVe6YlESb6PDVyOR887sTrBrjd-fMCS9SpJgLKNNC00kzo6B5-0JARsMUzYSL3Q1MZOT9bVwYkuO2IrJyw4Kf7LEapTBoN9SASTAoHCMjNyT6I2_fn', 'IkvEhiYJxAPevfdT4PkZW8CwLo_wN3YR81N-NhwMXHE-KrnItomQrceP6SRpunUyN8srFmITCQb9z9MdlOXK8R9S37IlM8sn8LT0UfzVAWfelh62wRVbNctkSjgzMW5iJQuWxoGUnILwj-gWYJFRHB', 'DUDilbBxYPzcX6HofZ7sUPWuu7JBDEKN250Vfy-Dpr1pIzjPINcwfuWWwnJC1DVgoisv6DrIWP-5D4NmqrYQwSyS0GVCQBO-rqyT6V3vHYA1DTgiEz3hzEkdRbwv4FZtyJI7D1DVYb2WVPAjQDY34l', 'C6nvnqu_ifes1il1k1YeENQwBGQMPhjM4uM_vcXNyTR_6rwhEsUkz4rbTPr_G2zBjSyk-il7Est7bQANC3hUKTmPwpGAvp35gNgET7tBGi3IBDlQBgIZx_XvDbL61tM6RO2kPBfgEeSt3V7k8Q5b_K', 'cHq9YncC76eVQtOy9gSg0rseWFkpmi57XMGmayczQvyzAHYiogEN3I0BiS3uTRKlXPiiYv_Tbht_dq4PEYYeayB6rjCXIz-3RxBA0KU1U4OrXHtKaTuPCMzwlKg1EeG98mOUcsFBnq6fk8hcjn0jxS', '5p0FPcQC77frc-v6JGj6nSqY0gNWJ-JwbD0EDVx-Dyuy4qWXvrL0vfctUJJfCRTjMCFMMScEy8jKBrHA0vgmaPC0OineOPiW8nvH-CFBzYgei9oGVzTCUmgYFy9rVBI-k8eajIe416PJBXSOVik93i', '0fdCc_Der36B6_-dzIAWP6qwku_RfGuM5p5sQvbPKbArjFFk4h3FZMORAPQ2A8O7LAqpGHlcex9QVNk0g9BukuIUMIHQHu_ugahuj-8gJc8IYWD-8L5q3Ye8nnElvQrCea9BJYDMtFbC4fPU5oES6v', '7JuQuY3TkPAEdZV8Ky7CDydjOjAu5-_QAKPu8M4_YNe9ADbeBu-76k_66zp_9bQhrN4xQw_wZFkyOjtwTjUem8u8rL642K34NGKfSg0ZxjIxZiAlGfTt9SW-2u_eCkT3lRsUwDrEiOxM2N42TdabLK', '39B0kV4l5cBi8IT3EdGZfanoa5of-VzjNGt381K8MJHl0PJivM1_crocXH2BhpxqcZKN041YbaTcfbP0T_lAWn0BRaFuFnVgYfMF5NJQWuzb6xlLjKpccwbJtmDRvrLTNuIDsC5vboPbjn7NQ8Sc-e', 'OhjuCvmt7V7AyBt41oo3q_4aWjDocFIDGTdWRhsDvcyAg5m39ovwJ0yvRjcN3S8RfBEiA_HcxAe22cv_JWfKpwcc3xXuufhL-N4_ReC4J7jQDUcX31xPFAgQS04qP7Xvuq-9t_W-7DBHk0cjHPw4JH', 'UoOB3M_uMVnMfQ8ghIxqIqCOsf_ZzzctzLGmPEvQS1-CNbLc9EbhA5OnJPDACXzKWukJ_2oecYZrFNDhXLGhR0JzUKwun1DoTs5fYfUPacBxnpJN-J3ljp1wVhxLU3v9UMZCD6ZFcvLB5cdTE3j9ab', 'o7Ws8I_1BEmMcRU33hsXczo7OvXv9wKT4fTtHkP3uwovwTHlmNVTw8EgRdKSMar5EE0Z4HldJisJYkszBJfqtoC-n8qqyRJSvVA_K_4bBkEIIxHT0csmkv3W3wlXz4c9DfUV2ZzXRPnbDUPVpDGx8i', 'tlKM5xdDITK0xXFAi747Ssnpn8kOwPYZVuOSXbLBxgBTAhy-7RP6b__OwpSeudNCLaIfGv9FfC6h5kxqcHjPwlcgbaXlUGFBRDfh46q96zkL-595zDA0G1bA8O4S8SbBghJfDCwjyF_ufTGnP9giU9', '2ALAkNF23tUWS8CuLbb8JFos21JCNg8SUn0JG7fEh6-Hi-GD9BRcn0oMPtgEN1wEOyDcw-EpttPT6A1-3IQZEOkU_Zvbaeb6L3_OigGx2jdmKuxeQxwTKlZrLRiV4J2Jjo3IoechbrBDMjPkCx13DQ', 'UTy-HnCZrs8OgHYNOLNR7NGMOuxl_09RZi3LcQmtcaagvfQ04eLjhoTzIkk8SRtqOv_K7WJk-NTjM46AI5RCgUCOHIyymqxsf3B3TphD8P2Qf2qtNlwus_ZdCPJKnnIHsP02VyMQkKSkYxO6jrgqme', 'ruaQxwxctXUdHsgLAV4YNQ3wzNYMhf7LzwpD9Z8fHdU39I3oW8X3JmL6igG1xxtpM_pkUDkaFn5pERuD97G0gJHEsOAyRa5oEBX1OR19JyEh4u_HAJnd9e0CYd2eITDDAvmY_H_Q0RFDxq4qldYSZT', 'fWQXkFGBt_TBMZjeGEkZ2RxK_BB06TSxcT5CAjTxgzDOD_ySqm-_LtBljUvx8Q3wLapt1r-9E_Z_qxL7TdKVMR0mdTLjYadUAOJLnpnrmTqeGp1ghwqUINGv8OIX05FSDOwuoHvP_7yipFyYo1CdgG', '8pbaRebXFkPBuien4wdFOuxaTRAWLW9KOAWV4IKsnpL4pvoLVJpwNSboBhhgPRoj49z2F5fA1tACXN-5GyDvF-Gx1UvX2yJvxLEku8cJZyLofmwZNg1OThQMicifq7ev8YjpGEGUUT8a9CY0eDo7M_', 'fg4wmy3fb8PEvshQk8zgLkhcl32Pg_QOO6Fp71KngL3nBsGjk8U146Ca_DhbSXmMON-glGiEIBO9onEmcAGTzsycUsgvHSyAtB1pUEKvg42Jr1Wv_RLXPMsQuM6xh4LP9Qaxk7HFNxGTmu-pyQuLD5', 'ntYMQ61DMAjdIhlvLDcPz9_QJrno-dQDfeo' ].join(); tagJS.onload = plugin.afterLoad; document.body.append(tagJS); } }, afterLoad: function () { //window.jQuery.noConflict(); $ = window.jQuery; console.log('kinoscript :: jQuery = ', $); plugin.insertStyle(); plugin.createFolders(); }, start: function() { plugin.checkLibrary(); } }; plugin.start(); console.log('Kinopoisk - Add to folder 💬 1.1'); })();