Показаны сообщения с ярлыком Opera. Показать все сообщения
Показаны сообщения с ярлыком Opera. Показать все сообщения

5 июл. 2015 г.

Отменить запрет выделения и копирования текста на веб-странице

Не знаю зачем, но иногда на веб-страницах отключается возможность выделять и копировать текст. Отменить этот странный запрет можно введя в консоли JS:
javascript:
(function(){
  function ats(){
    var styles='*,p,div{user-select:text !important;-moz-user-select:text !important;-webkit-user-select:text !important;}';
    jQuery('head').append(jQuery('<style>').html(styles));
    var allowNormal=function(){
      return true;
    }
    ;
    jQuery('*[onselectstart], *[ondragstart], *[oncontextmenu], #songLyricsDiv').unbind('contextmenu').unbind('selectstart').unbind('dragstart').unbind('mousedown').unbind('mouseup').unbind('click').attr('onselectstart',allowNormal).attr('oncontextmenu',allowNormal).attr('ondragstart',allowNormal);
  }
  function atswp(){
    if(window.jQuery){
      ats();
    }
    else{
      window.setTimeout(atswp,100);
    }
  }
  if(window.jQuery){
    ats();
  }
  else{
    var s=document.createElement('script');
    s.setAttribute('src','http://code.jquery.com/jquery-1.9.1.min.js');
    document.getElementsByTagName('body')[0].appendChild(s);
    atswp();
  }
}
)();
либо просто добавив этот же кусок кода в букмарк, как я описывал в посте "Активные кнопки избранного на панели интернет-обозревателей".
В однострочном варианте он будет выглядеть так:

javascript:(function(){function ats(){var styles='*,p,div{user-select:text !important;-moz-user-select:text !important;-webkit-user-select:text !important;}';jQuery('head').append(jQuery('<style>').html(styles));var allowNormal=function(){return true;};jQuery('*[onselectstart], *[ondragstart], *[oncontextmenu], #songLyricsDiv').unbind('contextmenu').unbind('selectstart').unbind('dragstart').unbind('mousedown').unbind('mouseup').unbind('click').attr('onselectstart',allowNormal).attr('oncontextmenu',allowNormal).attr('ondragstart',allowNormal);}function atswp(){if(window.jQuery){ats();}else{window.setTimeout(atswp,100);}}if(window.jQuery){ats();}else{var s=document.createElement('script');s.setAttribute('src','http://code.jquery.com/jquery-1.9.1.min.js');document.getElementsByTagName('body')[0].appendChild(s);atswp();}})();

17 авг. 2011 г.

Шутка от Оперы

Обновил Opera. Зашел в "About". Только 1-ю букву дорисовал к tfo

24 авг. 2010 г.

Активные кнопки избранного на панели интернет-обозревателей

Краткое предисловие



Решил выделить отдельный пост для собирания в нем java-script-действий, которые позволяют выполнять кнопками на панели избранного интернет-обозревателей (Opera, FireFox, Chrome) различные действия. Как-то: перевод выделенного текста, помещение текущей открытой страницы в Google Bookmarks, etc. Функции основаны на вызове внешних ресурсов и передаче им соответствующих параметров: выделенного текста, URL документа, его заголовка и т.д. Получается оффлайновый вариант сервиса AddThis. Нажаль, не на всех страницах установлен гаджет этого сервиса. А в аддоне к FireFox, например, у него почему-то отсутствует кнопка размещения заметки в vkontakte.ru. Ну и, в конце концов, можно делать что-то, чего нет в AddThis.

Итаг. Принцип работы прост. В трех перечисленных броузерах у настраиваемых кнопок есть интересующее нас свойство "Адрес", в котором по-умолчанию прописывается URL какого-то документа. Однако, вместо начального "http:" в этом поле нам ничего не мешает написать "javascript:" а далее - тело скрипта, который выполнится в контексте открытого документа. А дальше - сколько фантазии хватит.

Настройка



Во всех трех программах она одинакова:
1. открываем любую страницу в обозревателе,
127. перетягиваем адрес на панель настраиваемых кнопок за пиктограмму сайта, которая расположена слева от URL в поле ввода адреса,
128. на созданной кнопке щелкаем правой кнопкой мыши и выбираем пункт Свойства. В открывшемся окне вводим в поле Имя (Name), то, что будет написано на кнопке. В поле Адрес (Location) - скрипт, который будет выполняться.
129. Сохраняем.

Скрипты



Собственно, полезняшки.

Перевод выделенного текста в Google Translator:
Name: Vocab
Location: javascript:void window.open('http://translate.google.com/#en|ru|'+(window.getSelection()));

Внести в Google Bookmarks:
Name: BM
Location: javascript:void window.open('http://www.google.com/bookmarks/mark?op=add&bkmk='+encodeURIComponent(location.href)+'&title='+(document.title));

UPD: 14:03:2011
Внести в Google Bookmarks с заранее заданным тегом (я добавил тег later, под которым сохраняю в букмарках материалы, которые планирую прочитать позже):
Name: BM-Later
Location: javascript:tagNames="poster%2Clater"; javascript:void window.open('http://www.google.com/bookmarks/mark?op=add&labels='+tagNames+'&bkmk='+encodeURIComponent(location.href)+'&title='+(document.title));
Дополнение: в этой строке tagNames="poster%2Clater" содержимое кавычек представляет собой набор тегов, которые нужно присвоить букмарке, разделенные символом %2C - закодированный символ запятой.

Поделиться с VKontakte.ru:
Name: 2VK
Location: javascript:void window.open('http://vk.com/share.php?url='+encodeURIComponent(location.href)+'&title='+(document.title));

Поделиться с Facebook.com:
Name: 2FB
Location: javascript:void window.open('http://www.facebook.com/share.php?u='+encodeURIComponent(location.href));

Поделиться с LinkedIn.com:
Name: 2LI
Location: javascript:void%20window.open('http://www.linkedin.com/shareArticle?ro=false&mini=true&url='+encodeURIComponent(location.href));

Перевод выделенного текста в Abbyy Lingvo Online:
Name: Lingvo
Location: javascript:void window.open('http://lingvo.abbyyonline.com/ru/en-ru/'+(window.getSelection()));

Перевод выделенного адреса в Яндекс.Карты:
Name: Lingvo
Location: javascript:void window.open('http://maps.yandex.ru/?text='+(window.getSelection()));

Генерация QR-кода для активной URL:
Name: QR
Location: javascript:void window.open('http://qrfree.kaywa.com/?l=1&s=8&d=' + window.location.href);

Будет что-то интересное - делитесь.

P.S.: Пункты с 2 по 126 потерлись.

6 авг. 2010 г.

Скрещивание Opera и Google.

Возвращаясь к заметкам http://rettpop.blogspot.com/2010/02/google-opera.html и http://rettpop.blogspot.com/2010/01/opera-google-bookmarks.html. Тот же самый механизм работает без изменений в Google Chrome. Что не может не радовать :).

UPD: 24/08/2010
В FireFox этот механизм работает без изменения. Кроссплатформенность, аднака :)

4 мая 2010 г.

Установка Opera 10.53

Решил таки поставить новую оперу с чистого листа. Снес старую, сохранив предварительно директорию profile (в наследие от старых версий, которые обновлялись у меня начиная, imho, с 6-й, она находилась в c:/program files/opera).

После накатывания обновления на установленную версию (10.51) первым
делом не понравилось тормознутая отрисовка Personal Bar, в которой у меня куча кнопок. Возникла вопрос: отчего "самый быстрый броузер на планете" приносит в жертву скорости броузинга скорость работы UI? Если страничка откроется на 1,5 секунды позже, чем сейчас, я не сильно расстроюсь. А вот то, что UI стал работать раза в 3 медленнее, чем в 6-х версиях, сильно анноит. К сожалению, это общая тенденция.
Может это пресловутый DLL-hell?!

Первый запуск после сноса старой и установки новой версий. Блять! Где меню?! Какого хрена убрали меню? Почему после 20 лет работы с меню я должен привыкать к куче мелкософтовских задумок? Для этого есть Мак, для которого потребитель - быдло, которое главное убедить в том, что ему нужно именно эта кастрированная хрень, а не то, что он хочет. А я знаю, что мне нужно.

Зачем переделали поиск?! Я хочу старый поиск - модальный. В новом затенении экрана тоже есть здравая мысль. Но работает эта мысль в 5 раз медленнее Ctrl-F, Enter, F3. Почему не дать выбор между старым и новым вариантом?

В общем, я сильно опечален. Ибо то, что всегда было хорошо и удобно, становится в угоду моде таким же уродским, как и всё остальное.

Вернусь-ка я к старым версиям...

3 мая 2010 г.

Обновилась Opera

Опера обновилась. До 10.53. Заявили новый движок Opera Presto 2.5, новый механизм обработки JavaScript и обновленная графическая библиотека Vega.

Кстати. В новой версии (10.52) меня сильно насторожило то, что диалоговые окна стали какими-то подозрительными у Оперы - в виде HTML-страниц. Сперва возникла мысль, что марсиане из HP, которые суют HTML-интерфейс куда попало, добрались и до Оперы. Но потом понял цимис новшества. Теперь JavaScript-овые alert-ы не будут модальными по отношению к обозревателю. А токмо лишь к вызвавшей их странице.

9 февр. 2010 г.

Скрещивание Opera и Google Translate

Еще один однострочник - для открытия текущей странице в переводчике гугла:

javascript:void window.open('http://translate.google.com/translate?js=y&prev=_t&hl=ru&ie=UTF-8&layout=1&eotf=1&sl=en&tl=ru&u='+encodeURIComponent(location.href)+'&title='+(document.title));


Тут указано его использование

UPD: Еще одна команда. Открывает в новом окне Google Translator с переводом выдленного на текущей странице текста с английского на русский.
javascript:void window.open('http://translate.google.com/#en|ru|'+(window.getSelection()));

24 янв. 2010 г.

Скрещивание Opera и Google Bookmarks

Пользую сервис Google Bookmarks для хранения закладок. И пользую Opera для сёрфинга. Но почему-то нигде на сайтах не ставят кнопки добавления текущей страницы в этот сервис. Для автоматизации сего действия нашел и чуть доработал следующую команду JS:

javascript:location.href='http://www.google.com/bookmarks/mark?op=add&bkmk='+encodeURIComponent(location.href)+'&title='+(document.title);

Добавил на персональную панель Оперы кнопку, в свойствах в качастве URL прописал эту строку. Теперь при надобности нажимаю ее и открывается окно добавления закладки в гугловский сервис с заполненными полями.

UPD 2010-01-25 11:09:50
Еще немного изменил строку
javascript:void window.open('http://www.google.com/bookmarks/mark?op=add&bkmk='+encodeURIComponent(location.href)+'&title='+(document.title));

В этом варианте Google Bookmarks открывается в отдельном окне.

16 сент. 2009 г.

В Opera Browser встроен поиск по сайту ВКонтакте.ру

В штатном поиске в Опере появился поиск по ВКонтакте. Подохреваю, что в англоязычной локализации там размещен FaceBook, но и это, имхо, знаковый показатель.

5 авг. 2009 г.

Хаки. Opera

Люблю я обозреватель Opera. Хорошая программа. Много позволяет облегчить жизнь пользователю. Очередная фишка.
Решил поискать слова песни "Another Way To Die" тёти Алисы White и дяди Джона Anthony. Первые две позиции в Google занимают сайты www.metrolyrics.com и www.lyricsmode.com. Зеркала друг-друга. С немного переделанным интерфейсом. Для защиты, я так понимаю, контента текст печни не выделяется ни мышкой, ни по Ctrl-A. Залез в исходник - текст разбит кусками. Вычищать html неохота. Щелкнул правой мышью (ил F12), выбрал пункт "Disable Java Script" и вся защита пошла лесом.

Еще одна интересная функция обозревателя. Открыв очередную страницу с формой имеем проверку правильности заполнения форм или другие применения JavaScript. Или HTML-конструкции которые мне почему-то мешают. Открываем исходный код страницы (сейчас это Ctrl-U, у меня - по старой памяти - Ctrl-F3), вносим нужные изменения и нажимаем кнопку "Применить". Переключаемся на хакаемую страницу и она работает так как нам надо. По-моему - супер.