Расширяем возможности кэша Opera
|
Ilya 07/07/08 07:23 AM |
|
Все, кто привык просматривать оперный кэш в файловом менеджере, были неприятно удивлены тем, что в новой версии все хранимые там файлы оказались без расширений. Это превратило оперный кэш в набор безликих файлов, отличающихся только размером и датой создания, но совершенно не перевариваемых стандартными просмотрщиками. Справедливости ради нужно отметить, что пользователям GNU/Linux систем повезло больше: их файловые менеджеры не нуждаются в расширениях файлов и _//www.myopera.net/images/opera_cache.jpg_, как ни в чём ни бывало. Что же делать владельцам горемычного семейства Windows?
Им на помощь пришёл известный в российских оперных кругах специалист по тюнингу браузера Opera - _//lexi.ucoz.ru/_. Он написал специальный JavaScript, который позволяет расширить возможности opera:cache. Дело в том, что подсмотреть расширения файлов в кэше можно прямо в Opera (набрав в адресной строке opera:cache), но по причине отсутствия средств сортировки этих файлов найти что-то конкретное там очень тяжело. Разработка Lex1 добавляет в данный оперный просмотрщик кэша следующие функции:
- Быстрый поиск. Пишете адрес сайта или расширение и на экране остаётся только нужное.
- Сортировку по адресу, размеру и имени файла в кэше, которое пропорционально дате.
- Предпросмотр картинок и флешек.
Чтобы подключить данный JavaScript, нужно добавить его в файл локализации. Посмотреть, где находится этот файл, можно через меню Сервис-Настройки-Общие, конпка "Дополнительно", полный путь к файлу локализации и его название _//www.myopera.net/images/opera_langfile.png_. Далее, открываем найденный файл в текстовом редакторе, поддерживающем кодировку UTF-8, и находим строку:
Code:
-1713924769="Размер"
Далее, превращаем её в следующий вид:
Code:
-1713924769="Размер:<script type='text/javascript'>function sorter(span){var _sort=function(a,b){var a=a[1];var b=b[1];if(Number(a)&&Number(b)){return a-b}else{if(a<b)return-1;if(a>b)return 1;return 0}};var dir=span.innerHTML.charAt(0);var col=span.parentNode.cellIndex;var tbody=document.selectSingleNode('//tbody');var tr=tbody.selectNodes('tr[td]');var len=tr.length;var a=new Array(len);for(var i=0;i<len;i++){a[i]=new Array(2);a[i][0]=tr[i];a[i][1]=a[i][0].selectNodes('td')[col].innerText};a.sort(_sort);if(dir!='↓'&&dir!='↑')dir=arguments[1]?'↓':'↑';if(dir=='↑'){a.reverse()};span.innerHTML=(dir=='↑'?'↓':'↑')+span.innerHTML.substr(1);for(var i=0;i<len;i++){tbody.appendChild(a[i][0])}};document.addEventListener('load',function(){for(var i=0;document.links[i];i++){document.links[i].target='_blank'};var tr=document.selectNodes('//tr[td]');var sf=document.createElement('input');sf.type='text';sf.defaultValue='Быстрый поиск';sf.style='font-size:100%;margin:0 20px 0 30px;width:40%;';sf.addEventListener('focus',function(){if(this.value==this.defaultValue){this.value=''}},false);sf.addEventListener('blur',function(){if(!this.value){this.value=this.defaultValue}},false);sf.addEventListener('keyup',function(){var v=this.value.toLowerCase();for(var i=0,l;l=tr[i];i++){var p=l.lastChild.firstChild.innerText;if(p&&p.toLowerCase().indexOf(v)==-1){l.style='display: none'}else{l.style='display:table-row'}}},false);var bt=document.createElement('input');bt.type='button';bt.value='Показать превью';bt.style='font-size:100%;cursor:pointer;float:right;';bt.addEventListener('click',function(){var b=/\\.(jpe?g|bmp|gif|png|ico|swf|flv)$/i;var f=/\\.(swf|flv)$/i;var stl='float:right;border:1px dotted black;margin:1px;padding:1px;max-height:100px;max-width:100px;';for(var i=0,l;l=tr[i];i++){var p=l.lastChild.firstChild;var c=l.lastChild.firstChild.innerText;if(l.offsetHeight!=0&&p.childNodes.length<2){if(b.test(c)){if(f.test(c)){var dv=document.createElement('div');p.appendChild(dv);dv.innerHTML='<EMBED src='+p.href+'>';var fh=dv.firstChild;fh.setAttribute('height',100);fh.setAttribute('width',100);fh.setAttribute('style',stl+'content:normal;display:inherit;outline:none;background-image:none;')}else{var image=document.createElement('img');image.setAttribute('src',p.href);image.setAttribute('style',stl);p.appendChild(image)}}}}},false);var th=document.selectNodes('//th');th[2].appendChild(bt);th[2].appendChild(sf);var addSort=function(ele){var arg=arguments[1];var txt=ele.firstChild;var span=document.createElement('span');span.title='Сортировать';span.appendChild(document.createTextNode('•'));ele.insertBefore(span,txt);span.addEventListener('click',function(){sorter(this,arg)},false);span.style.cursor='pointer';span.appendChild(txt)};addSort(th[0]);addSort(th[1]);addSort(th[2],true)},false)</script>"
Сохраняем изменения и запускаем Opera вновь. Теперь после открытия просмотрщика opera:cache _//www.myopera.net/images/opera_langfile1.png_ файлами кэша. Для сортировки по различным параметрам достаточно кликнуть курсором мышки на заголовках соответствующих столбцов, для поиска предназначено специальное поле. Остаётся добавить, что для правильной работы скрипта необходимо, чтобы в браузере была включена поддержка JavaScript.
Оригинал новости _//my.opera.com/russian/forums/topic.dml?id=241262_.
|
Re: Расширяем возможности кэша Opera
|
Turbid 07/07/08 08:24 AM |
|
Классно.
Lex1, +1
|
Re: Расширяем возможности кэша Opera
|
kRuSHa 07/07/08 02:26 PM |
|
а как апостроф проставить в ЖабаСкрипте в названии колонки или кнопки (Показать превью = Показати прев'ю) чтобы было по-укровски?
И, кстати, не является ли подобная вещь потенциальной угрозой безопасности, когда через языковой файлос можно ЖабуСкрипт выполнять?
|
Re: Расширяем возможности кэша Opera
|
Lex1 07/07/08 05:13 PM |
|
В ответ на: а как апостроф
\\x27
В ответ на: потенциальной угрозой безопасности
Там всё заблокировано. Кроме того javascript будет работать только если переведённое слово добавляется напрямую на html-страницу. Таких случаев очень немного. Хотя ставить переводы взятые из левых источников всё же не стоит.
|
Re: Расширяем возможности кэша Opera
|
woldemar 07/07/08 05:48 PM |
|
Не.. этот протез вызывает Дикие тормоза В кеше 89mb файлов, страшно представить что будет при 400mb тут поможет только внешний просмотрщик
|
Re: Расширяем возможности кэша Opera
|
zhenyasun 07/08/08 07:06 PM |
|
Отличная статья! Для новой оперы это очень актуально!
|
|