Послано - 10 Авг 2012 : 15:53:54
Кто-нибудь для СИ скриптатми пользуется? Какими? Выкладывайте сюда.
В очередной раз решив поискать на СИ, что-нибудь интересненькое из романов, зашел на соответствующую страницу. "До сих пор не прикрутили "оценочный" фильтр, подсовывают всякую фигню!", - подумал я и решил взять это в свои руки.
Пару дней покумекал над скриптом и получил интересующий меня результат.
Мой скрипт для Оперы: убирает с экрана любой выбранной формы (см. ссылку выше) и с экрана любого выбранного жанра (ссылка на фантастику например) все произведения, не подходящие по величине оценки и числу оценивших.
Скрытый текст
Оценка:9.94*40
Исходник скрипта:
Скрытый текст
// ==UserScript== // @name SICut (fixed for Opera) // @include # // @include # // ==/UserScript== (window.onload =function(){ var tegDLList =document.getElementsByTagName('DL'); for (var step1=0; step1<tegDLList.length;) {var rating=tegDLList[step1].getElementsByTagName('small')[0].getElementsByTagName('b')[0].childNodes[0]; rating = (rating.nodeValue.indexOf('*') ==-1) ? tegDLList[step1].getElementsByTagName('small')[0].getElementsByTagName('b')[1].childNodes[0] : rating ; var keyCharacter=rating.nodeValue.indexOf('*'); var myRating=8;//уровень оценок var myNumberVisitors=30;//подоходящее количество оценивших var NumberVisitors='';//обнуляем количество оценивших for (var step2=0; step2<rating.length;) {if (step2>keyCharacter) {NumberVisitors=NumberVisitors+rating.nodeValue[step2];} step2++; } if (parseFloat(rating.nodeValue)>=myRating &&parseInt(NumberVisitors)>=myNumberVisitors) {} //ничего не делает else {tegDLList[step1].children[0].setAttribute('hidden',true);} //скрывает объект step1++; } })();
Далее два пути на выбор: 1) В ближайшую неделю скачать файл со скриптом отсюда. Сохранить файл в папке с пользовательскими скриптами (см. инструкцию по ссылке выше).
2) Скопировать приведенный мной код в блокнот и сохранить под любым именем, написанным латиницей, с расширением ".JS" в папке с пользовательскими скриптами (см. инструкцию по ссылке выше). Сохранять в кодировке UTF-8.
После этих манипулций стоит перезапустить оперу, сразу новые скрипты она может и не подхватить.
Просто удивительные метаморфозы, с месяц назад, пациент планировал распределенную облачную Библиотеку спрограммить, а теперь спрашивает - как скрипт прикрутить.
Злобный тро-ло-ло с комплексом всезнания.(Да, это я оставляю на либрусеке матерные аннотации.)
Послано - 12 Авг 2012 : 17:34:01
Ошибкой будет считать, что если человек программист, то умеет и знает всё, от написания веб-движков до программирования решений сложных математических уравнений.
Послано - 12 Авг 2012 : 19:40:31
KuKHyT разумеется, такого никто и не писал. Специализацию никто не отменял и от html-верстальщика знания кобол не требуют. Не понимаю - чего ради, было писать эту банальную сентенцию? Хотя те же сложные математические уравнения, прекрасно фунциклируют как на пхп так и на си шарпе. Потому-что это разные вещи, и их более-менее образованные люди не противопоставляют. Речь шла про элементарную логику, житейскую смекалку и умение использовать поисковые системы. Использование встроенных функций программы, как ни странно - вообще не требует навыков программирования. Но, человек освоивший любое направление программирования, как правило уже в курсе про дополнительные опции, хотя бы в связи с настройкой своей IDE. А уж про ява-скрипт должен был слышать любой индийский кодер.))
Melx У скриншотов какое то нищенское разрешение, как бы понятно, что на первом много, на втором мало, но некрасиво.
Злобный тро-ло-ло с комплексом всезнания.(Да, это я оставляю на либрусеке матерные аннотации.)
KuKHyT разумеется, такого никто и не писал. Специализацию никто не отменял и от html-верстальщика знания кобол не требуют. Не понимаю - чего ради, было писать эту банальную сентенцию? Хотя те же сложные математические уравнения, прекрасно фунциклируют как на пхп так и на си шарпе. Потому-что это разные вещи, и их более-менее образованные люди не противопоставляют. Речь шла про элементарную логику, житейскую смекалку и умение использовать поисковые системы. Использование встроенных функций программы, как ни странно - вообще не требует навыков программирования. Но, человек освоивший любое направление программирования, как правило уже в курсе про дополнительные опции, хотя бы в связи с настройкой своей IDE. А уж про ява-скрипт должен был слышать любой индийский кодер.))
Melx У скриншотов какое то нищенское разрешение, как бы понятно, что на первом много, на втором мало, но некрасиво.
Злобный тро-ло-ло с комплексом всезнания.(Да, это я оставляю на либрусеке матерные аннотации.)
Каюсь, никогда йава-скриптами не интересовался, не считая седой древности, когда на информатике в школе, во время создания "сайта" из двух hrml-страничек, запилил куда-то туда какой-то скрипт. И каюсь повторно, за все уже лет десять, как я сижу в интернете, у меня не было потребности применять подобные скрипты. Просто случая не было, сам же как-то не интересовался. Горе мне, горе, да.
Послано - 05 Сент 2012 : 10:50:13
Прикрутил, кстати, еще фильтр по объему в Кбайтах. В "жанрах" проды чтоб отсеять (кто ищет поэзию аккуратнее). Как результат в "фэнтези" первые произведения только на 13-ой странице
Исходник
Скрытый текст
// ==UserScript== // @name SICut (fixed for Opera) // @include # // @include # // ==/UserScript== (window.onload =function(){ var tegDLList =document.getElementsByTagName('DL'); for (var step1=0; step1<tegDLList.length;) {var rating=tegDLList[step1].getElementsByTagName('small')[0].getElementsByTagName('b')[0].childNodes[0]; if (rating.nodeValue.indexOf('*') ==-1) {rating=tegDLList[step1].getElementsByTagName('small')[0].getElementsByTagName('b')[1].childNodes[0]; // ---Модуль для выборки по размеру в жанрах--- var size=tegDLList[step1].getElementsByTagName('small')[0].getElementsByTagName('b')[0].childNodes[0]; var mySize=100; // подходящий размерчик? var sizeValue=''; // обнуляем размер произведения for (var stepSize=0; stepSize<(size.length-2); stepSize++) {sizeValue=sizeValue+size.nodeValue[stepSize];} if (parseInt(sizeValue)<mySize) {tegDLList[step1].children[0].setAttribute('hidden',true);} //скрывает объект // ---Конец модуля--- } var keyCharacter=rating.nodeValue.indexOf('*'); var myRating=8;//подходящий уровень оценок? var myNumberVisitors=30;//подоходящее количество оценивших? var NumberVisitors='';//обнуляем количество оценивших for (var step2=0; step2<rating.length;) {if (step2>keyCharacter) {NumberVisitors=NumberVisitors+rating.nodeValue[step2];} step2++; } if (parseFloat(rating.nodeValue)>=myRating &&parseInt(NumberVisitors)>=myNumberVisitors) {} //ничего не делает else {tegDLList[step1].children[0].setAttribute('hidden',true);} //скрывает объект step1++; } })();
Послано - 07 Сент 2012 : 21:42:51
В браузере добавить закладку и в строке адреса указать js код.
Использовать просто - на страничке нетленки самлиба ткнуть в закладку. Появится окошко с текстом в виде: название произведения, ссылка. Копируем и постим.
Послано - 07 Сент 2012 : 23:24:30
Кстати, чё это у вас товарищи програмисты окошко здесь такое широкое, что приходится "задвижку" двигать справа на лево довольно долго!!! Или это такая специальная задумка, для несведущих типа меня?
Кстати, чё это у вас товарищи програмисты окошко здесь такое широкое, что приходится "задвижку" двигать справа на лево довольно долго!!! Или это такая специальная задумка, для несведущих типа меня?
Это я виноват. Код должен быть без переноса строк, вот и получилось так не красиво.
Послано - 08 Сент 2012 : 11:23:32
Urgen, почему? Вроде не должен. В любом случае достаточно добавить на HiLite.me в СSS "word-wrap:break-word;". Можете перезалить код? Или вручную добавить CSS свойство в своем сообщении. А то действительно неудобно получилось. (Понял у вас FireFox, в отличии от Opera он не дает выставить многострочный код в адресную строку?)
Идея мне понравилась, правда я немножко переделал код, чтобы результат на кубиках выглядел как мне нравится:
Скрытый текст
javascript:(function() {d=window.document; var lastmod=(Date.parse(d.lastModified)==0)?'':d.lastModified; var kb=''; var t=d.body.textContent; var k2=t.indexOf('k. С'); var an=''; if(k2>0) {var k1=t.lastIndexOf('.',k2); kb=t.substr(k1+2,k2-k1-1); } if(d.getElementsByTagName('td')[3].children.length!=0) {var anText=''; for (var step=2; step<d.getElementsByTagName('td')[3].childNodes[1].childNodes[1].childNodes.length; step++) {anText=anText+d.getElementsByTagName('td')[3].childNodes[1].childNodes[1].childNodes[step].textContent; } an=''+'+d.title.length+')" title="Спойлер">Авторская аннотация: '+'
+d.title.length+'"style="display:none">
'+anText+'
'; } var msg=''+d.getElementsByTagName('h3')[0].childNodes[0].nodeValue+''+' '+'+d.URL+'" style="color:navy;">'+d.getElementsByTagName('h2')[0].childNodes[0].nodeValue+''+' '+'('+kb+')'+an; alert(msg); })()
Мы - поколение гаджиенутых. Не верите? Напрасно. Простой пример - можно полгода не видеться с друзьями в реале, но, стоит пару дней не появляться в соцсетях, как тут же объявят пропавшим без вести. Что уж говорить о ставшей внезапно недоступной сотовой связи... Инна совершила одну небольшую ошибку - забыла зарядить мобильник. Нет, конечно, потом она ещё и через темный лес поехала, но речь сейчас не об этом. Казалось бы, такая мелочь, но именно она может круто изменить жизнь. Например, поможет ввязаться в такие неприятности, о которых и подумать страшно. Узнать много нового о собственных друзьях и родственниках, даже встретить прекрасного принца. Вот только не всегда открытия бывают хорошими, а принцы - добрыми...
P.S. При добавлении кода в IE он работать не будет! Причина 1. В коде используется свойство узла "textContent", для IE необходимо заменить его на "text". Причина 2. IE не дает выделять текст из окна сообщения, разбираться можно ли это обойти на текущий момент я необходимости не вижу, если кто знает готовое решение на этот случай, рассказывайте.
ЖАНР: ЛитРПГ. Общий файл. Аннотация: Виртуальная онлайн игра "Вальдира". Вымышленный сказочный мир наполненный приключениями, эпичными битвами, злобными монстрами жаждущими твоей смерти и конечно же настоящими героями - игроками, для многих из которых Вальдира давно уже заменила собой скучный реальный мир.